2015-04-23 101 views
0

我是Hadoop的新手。日誌文件解析hcatalog正則表達式或serde

我想將我的日誌文件加載到HCatalog中。以下是我的日誌文件的格式。

Time: 2014-10-28 06:32:34Z 
UserID: arun 
GroupID: admin 
Page: welcome.aspx 
Message: Login successful 

Time: 2014-10-28 06:32:34Z 
UserID: arun 
GroupID: admin 
Page: main.aspx 
Message: menu load 
.. 
.. 

是否需要編寫一個SerDe來解析這個問題還是可以通過regex來實現?

回答

0

我相信您希望將外部日誌文件加載到Hive表中,其中Hive Metastore由HCatalog服務管理。

如果是這樣,首先分析固定分隔符的源日誌記錄,這將有助於Hive將記錄解析爲所需的n列,大多數選項卡(\ t)字符將有所幫助。

下一個選項可能是使用具有相關正則表達式的Hive RegexSerDe類從源日誌記錄中實現列解析。

如果正則表達式解析不可行,那麼另一種選擇是創建自定義配置單元serde類來解析源日誌文件記錄。在定製serde類的幫助下,Hive將能夠完美地將分隔單元格嵌入到Hive外部表的相關列中。

請參考,

http://docs.aws.amazon.com/gettingstarted/latest/emr/getting-started-emr-load-data.html

Apache Hive regEx serde: data types

http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/