我的數據以多個文件存儲在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