HIVE
を使用して定義されたテーブルがありますJSON Serde
。Shark
ディストリビューション ( http://shark.cs.berkeley.edu/ )を使用しています。定義は次のとおりです。
CREATE TABLE lastfm(
artist string,
title string ,
track_id string,
similars array<array<string>>,
tags array<array<string>>
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe';
このテーブルにデータを正常にロードできます。今、私はParquet
ベーステーブルを作成しましたHIVE
。
CREATE TABLE lastfm_par (
artist string,
title string ,
track_id string,
similars array<array<string>>,
tags array<array<string>>
)
ROW FORMAT SERDE 'parquet.hive.serde.ParquetHiveSerDe'
STORED AS
INPUTFORMAT 'parquet.hive.DeprecatedParquetInputFormat'
OUTPUTFORMAT 'parquet.hive.DeprecatedParquetOutputFormat';
ここで、次のコマンドを使用して、JSON Serde
テーブルからテーブルにデータをロードしようとします。Parquet
insert overwrite table lastfm_par select * from lastfm;
insert
ステートメントは正常に完了します。しかし、Parquet
テーブル内のデータをクエリすると、すべての列にNULL
値が入力されます。同様の問題をオンラインで検索しましたが、同様の問題はまだ見当たりません。ここで何がうまくいかないのか、誰か考えている人はいますか?
ありがとう、ヴィサフ