2

s3 から parquet(compressed: snappy) ファイルを読み取る Qubole(Hive) に外部テーブルを作成しましたが、実行するSELECT * table_name と、パーティション化された列を除くすべての列で null 値が取得されます

SERDEPROPERTIES で別の serialization.format 値を使用してみましたが、まだ同じ問題に直面しています。そして、'serialization.format' = '1'私が得ているプロパティを削除するとERROR: Failed with exception java.io.IOException:Can not read value at 0 in block -1 in file s3://path_to_parquet/.

寄木細工のファイルを確認したところ、寄木細工のツールを使用してデータを読み取ることができました。

**file_01.snappy.parquet:**
{"col_2":1234,"col_3":ABC}
{"col_2":124,"col_3":FHK}
{"col_2":12515,"col_3":UPO}


**External table stmt:**
CREATE EXTERNAL TABLE parquet_test
(
    col2 int,
    col3 string
)
PARTITIONED BY (col1 date) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
WITH SERDEPROPERTIES (
  'serialization.format' = '1'
)
STORED AS PARQUET
LOCATION 's3://path_to_parquet'
TBLPROPERTIES ('parquet.compress'='SNAPPY');

Result:
col_1   col_2   col_3
5/3/19  NULL    NULL
5/4/19  NULL    NULL
5/5/19  NULL    NULL
5/6/19  NULL    NULL

Expected Result:
col_1   col_2   col_3
5/3/19  1234    ABC
5/4/19  124     FHK
5/5/19  12515   UPO
5/6/19  1234    ABC
4

1 に答える 1