在hive表中加载镶木地板文件将返回所有NULL

时间:2016-10-17 18:59:50

标签: scala hadoop hive

我有很少的文件存储在HDFS中以镶木地板格式存储,我正在尝试在hive中创建一个新的外部表,假设它指向那些数据文件。

所以,我使用 -

在hive中创建了一个表
CREATE EXTERNAL TABLE ORDERS_P (
ORDERID INT, 
ORDER_DATE BIGINT,
CUSTOMER_ID INT,
STATUS STRING)
STORED AS PARQUET
LOCATION 'hdfs:///user/cloudera/retail/parquet/orders';

创建表但是当我在hive中的表上运行查询时 -

SELECT * FROM ORDERS_P LIMIT 10

它返回除ORDER_DATE列之外的所有NULL值 -

NULL    1402729200000   NULL    NULL
NULL    1402729200000   NULL    NULL
NULL    1402729200000   NULL    NULL
NULL    1402729200000   NULL    NULL
NULL    1402729200000   NULL    NULL
NULL    1402729200000   NULL    NULL
NULL    1402729200000   NULL    NULL
NULL    1402729200000   NULL    NULL
NULL    1402729200000   NULL    NULL
NULL    1402729200000   NULL    NULL

我使用spark-shell验证了那些文件中是否存在数据。不确定我做错了什么。任何帮助赞赏。

1 个答案:

答案 0 :(得分:0)

您可能需要将hive版本升级到1.2或最新版本,在1.1.0或更早版本中,所有数据类型的镶木地板都不受支持。

请在1.2.0之后检查link已添加支持。