在hcatalog regex或serde中解析日志文件

时间:2015-04-23 06:39:11

标签: hadoop hcatalog

我对Hadoop很新。

我正在尝试将我的日志文件加载到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来解析这个问题,还是可以通过正则表达式来实现?

1 个答案:

答案 0 :(得分:0)

我相信您希望将外部日志文件加载到Hive表中,其中Hive Metastore由HCatalog服务管理。

如果是这样,首先分析一个固定分隔符的源日志记录,这将有助于Hive将记录解析为所需的n个列,主要是tab(\ t)char将有所帮助。

下一个选项可能是使用带有相关正则表达式的Hive RegexSerDe类从源日志记录中实现列解析。

如果正则表达式解析不可行,那么另一个选项是创建自定义hive 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/