JSON Serde を使用して JSON ファイルを Hive にロードしようとしています。一度に 1 つの JSON ファイルに対して動作させることはできますが、JSON ファイルに一度に複数のレコードを入れて、それらを一度にロードできるかどうか疑問に思っていました。アイデアを与えるために、私の JSON ファイルは次のようになります。
ファイル 1
{"styles": {"style": "Deep House"}, "genres": {"genre": "Electronic"}}
ファイル 2
{"styles": {"style": "Rock"}, "genres": {"genre": "Techno Rock"}}
これらを組み合わせて、次のように 1 つの JSON ファイルを作成しました。
{"styles": {"style": "Deep House"}, "genres": {"genre": "Electronic"}},{"styles": {"style": "Rock"}, "genres": {"genre": "Techno Rock"}}
このファイルをロードすると、最初のレコードのみがロードされます。私のテーブルDDLは以下の通りです:
create table json_data (
styles struct<style: string>,
genres struct<genre: string>
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe';
標準LOAD
コマンドを使用します。
LOAD DATA LOCAL INPATH '/home/user/json_data' INTO TABLE json_data;
テーブルをクエリすると、挿入されるレコードは 1 つだけです。
select * from json_data;
{"style":"Deep House"} {"genre":"Electronic"}
Time taken: 0.76 seconds
ここで JSON ファイルの作成に何か問題がありますか? または、1 つの JSON ファイルに 2 つのレコードを含めることはできませんか? どんな助けでも本当に感謝しています。
ありがとう、TM