首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在雅典娜中指定多个grokCustomPatterns?

如何在雅典娜中指定多个grokCustomPatterns?
EN

Stack Overflow用户
提问于 2018-07-25 12:32:37
回答 1查看 520关注 0票数 0

我试图在雅典娜中使用Grok表达式,主要是作为在AWS Glue分类器中调试Grok表达式的工具。

这是可行的:

代码语言:javascript
复制
CREATE EXTERNAL TABLE example_grok (
  myColumn string
)
ROW FORMAT SERDE
 'com.amazonaws.glue.serde.GrokSerDe'
WITH SERDEPROPERTIES (
'input.format'='(%{WORD:header},%{WORD:file_type},%{GREEDYDATA:head_rest})|(%{DETAILS:det},%{WORD:icp_number},%{GREEDYDATA:det_rest})',
'input.grokCustomPatterns' = 'DETAILS DET'
)
STORED AS INPUTFORMAT
 'org.apache.hadoop.mapred.TextInputFormat'
 OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
 's3://my-secret-bucket/path/';

我想指定几个自定义模式,但the documentation没有示例,而且我尝试过的分隔符,无论是在字符串内部还是在字符串外部,都不起作用。

例如,这些不起作用。

新的行分隔符(没有前导空格,这些仅用于本文):

代码语言:javascript
复制
 'input.grokCustomPatterns' = 
 'POSTFIX_QUEUEID [0-9A-F]{7,12}
HEADER HDR'

作为一个"json“数组:

代码语言:javascript
复制
'input.grokCustomPatterns' = ['POSTFIX_QUEUEID [0-9A-F]{7,12}','HEADER HDR']

具有多个条目:

代码语言:javascript
复制
'input.grokCustomPatterns'='HEADER (HDR)',
'input.grokCustomPatterns'='POSTFIX_QUEUEID [0-9A-F]{7,12}',

任何帮助我们都很感激,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-04 08:13:32

AWS回应了我所要求的文档改进。文字\n分隔模式。

要在input.grokCustomPatterns表达式中包含多个模式条目,请使用换行符(\n)将它们分开,如下所示:'input.grokCustomPatterns'='INSIDE_QS (^\")\nINSIDE_BRACKETS (^])')。

Grok Serde

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51510834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档