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値が入力されます。同様の問題をオンラインで検索しましたが、同様の問題はまだ見当たりません。ここで何がうまくいかないのか、誰か考えている人はいますか?
ありがとう、ヴィサフ