我在Pig中创建了一个Parquet文件(在outputset
目录中)
grunt> STORE extracted INTO './outputset' USING ParquetStorer;
该文件有1 Record
,如下所示,
grunt> mydata = LOAD './outputset/part-r-00000.parquet' using ParquetLoader;
grunt> dump mydata;
(val1,val2,val3)
grunt> describe mydata;
mydata: {val_0: chararray,val_1: chararray,val_2: chararray}
在此之后,我在 Hive 中创建了一个外部表来读取此文件,
CREATE EXTERNAL TABLE parquet_test (
field1 string,
field2 string,
field3 string)
STORED AS PARQUET
LOCATION '/home/.../outputset';
当我查询表格时,我可以检索1 Record,
,但所有字段都是NULL
,如下所示,
hive> select * from parquet_test;
NULL NULL NULL
我在这里缺少什么?
PS:
Pig version : 0.15.0
Hive version : 1.2.1
答案 0 :(得分:0)
您需要将pig中的确切字段名称与配置单元中的列匹配。
So your hive should look like
CREATE EXTERNAL TABLE parquet_test (
val1 string,
val2 string,
val3 string)
STORED AS PARQUET
LOCATION '/home/.../outputset';