2014-09-01 28 views
0

我有一個由|〜分隔的日誌文件,並且值也用雙引號引起來。我嘗試使用以下方法將文件加載到配置單元中。但我沒有成功。需要處理並加載到配置單元的自定義分隔符

創建外部TABLE AUDIT_DETAIL ( EVENT_ID串 ,DETAIL_ID SMALLINT ,SERVER_CUID字符串 ,DETAIL_TYPE_ID SMALLINT ,DETAIL_TEXT字符串 ,START_TIMESTAMP DATE DEFAULT SYSDATE )行格式分隔的字段由終止 '|〜' 位置' /用戶/ Audit_Detail';

除了配置單元udf之外,還有什麼辦法可以實現嗎?

非常感謝

回答

0

您所使用的分隔符是不被支持,直到版本0.13多字符分隔符。這可能是你錯誤的原因。

參考:How can I do a double delimiter(||) in Hive?

+0

@KS Nidhin,我試過,我得到一個錯誤「錯誤在編譯時聲明:失敗:ParseException的線10:1無法識別附近 'SERDE' '' org.apache.hadoop輸入。 hive.serde2.lazy.lazysimpleserde'''with'in serde properties specification「 這是我的ddl, CREATE ..ROW FORMAT DELIMITED FIELDS TERMINATED BY'\ 054'SERDE'org.apache.hadoop.hive.serde2。 lazy.LazySimpleSerDe'WITH SERDEPROPERTIES('field.delim'='|〜') 存儲爲文本文件; 如果我運行沒有DELIMITED FIELDS TERMINATED BY'\ 054',我沒有收到任何錯誤,但數據未正確加載 – vds 2014-09-03 11:51:00

相關問題