hadoop informatica日志处理

beq87vna  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(425)

我正在从事一个项目,涉及从相当大的informatica日志文件创建一组可查询的数据。为此,使用flume将文件导入到hadoop集群中,flume在我开始这个项目之前已经由一个同事配置好了。我的工作是从日志中包含的数据创建一个表,以便可以轻松地执行查询。我遇到的问题与日志文件格式有关。日志的格式如下:
时间戳:严重性:(pid |线程):(servicetype | servicename):clientnode:messagecode:message
问题是,有时消息字段包含其他冒号分隔的注解,例如消息可能是[x:y:z]。当使用hcatalog创建表时,我不能解释这种行为,而是导致额外的列。
有什么建议吗?通常我会使用ruby来分隔字段,或者在使用hcatalog导入时替换分隔符来保持完整性。是否有一些预处理,我可以做集群侧允许我这样做?文件太大,无法在本地处理。

hfsqlsce

hfsqlsce1#

答案是使用pig脚本和python自定义项。pig脚本加载到文件中,然后逐行调用python脚本以正确地断开字段。然后可以将结果写入更友好的csv和/或存储在表中。

相关问题