Hadoop 无法查询(从配置单元)Pig中创建的拼花地板文件
我已经在Pig中创建了一个拼花地板文件(在目录Hadoop 无法查询(从配置单元)Pig中创建的拼花地板文件,hadoop,hive,apache-pig,parquet,Hadoop,Hive,Apache Pig,Parquet,我已经在Pig中创建了一个拼花地板文件(在目录outputset中) 该文件有1条记录,如下所示 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: char
outputset
中)
该文件有1条记录
,如下所示
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}
在此之后,我在配置单元中创建了一个外部表来读取此文件
CREATE EXTERNAL TABLE parquet_test (
field1 string,
field2 string,
field3 string)
STORED AS PARQUET
LOCATION '/home/.../outputset';
当我查询表时,我能够检索1记录,
,但所有字段都是NULL
,如下所示
hive> select * from parquet_test;
NULL NULL NULL
我错过了什么
附言:
您需要将pig中的确切字段名与配置单元中的列匹配
So your hive should look like
CREATE EXTERNAL TABLE parquet_test (
val1 string,
val2 string,
val3 string)
STORED AS PARQUET
LOCATION '/home/.../outputset';
val1
、val2
和val3
chararray
的数据类型是吗?@GoBrewers14是的val1、val2和val3是chararray
Pig version : 0.15.0
Hive version : 1.2.1
So your hive should look like
CREATE EXTERNAL TABLE parquet_test (
val1 string,
val2 string,
val3 string)
STORED AS PARQUET
LOCATION '/home/.../outputset';