我的数据以多个文件存储在HDFS目录/ tmp/kafka/alert中。每个文件都包含如下所示的换行分隔的JSON对象。使用JSON SerDe获取所有NULL值的Hive外部表格
{"alertHistoryId":123456,"entityId":123,"deviceId":"123","alertTypeId":1,"AlertStartDate":"Dec 28, 2016 12:05:48 PM"}
{"alertHistoryId":123456,"entityId":125,"deviceId":"125","alertTypeId":5,"AlertStartDate":"Dec 28, 2016 11:58:48 AM"}
我加入蜂房JSON SERDE罐使用以下
ADD JAR /usr/local/downloads/hive-serdes-1.0-SNAPSHOT.jar;
我创建的表有以下成功创建
CREATE EXTERNAL TABLE IF NOT EXISTS my_alert (
alertHistoryId bigint, entityId bigint, deviceId string, alertTypeId int, AlertStartDate string
)
ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
LOCATION '/tmp/kafka/alert';
表。但是当我获取数据时,我得到了所有的空值。任何人都知道如何解决这个问题?
看看这个解决方案:http://stackoverflow.com/questions/40854177/cloudera-hive-where-to-add-json-serde-1-3-7-jar-file –
谢谢Rijul。但是,这和我的不是同一个问题。我没有得到任何例外。外部表已成功创建。即使行数是正确的。但数据全为空。我敢肯定,我错过了一些微不足道的东西,但无法弄清楚什么。 – Arjit