将日志文件放入Hi

2024-04-23 07:08:37 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
2条回答

这个问题可能是重复的。在

请检查这个link和这个blog。在

根据以上2个链接,不能有多个分隔符,不支持。在

但有一个办法可以解决。它可以通过使用RegExSerde来实现。在

您需要为您的业务需求找出一个regex模式,并将其保存在serde属性中。在

使用RegexSerDe,可以使用\s+匹配多个空白类型(单空格、多空格、制表符)。在

我没有我的蜂箱实例在我面前进行测试,但你应该从下面的代码中得到想法。在

CREATE TABLE file.log (
  dateFact STRING,
  country STRING,
  state STRING,
  id STRING,
  value STRING
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES  (
"input.regex" = "([0-9]{4}-[0-9]{2}-[0-9]{2})\s+(\w+)\s+(\w+)\s+(\d+)\s+([\d.]+)",
"output.format.string" = "%1$s %2$s %3$s %4$s %5$s"
)
STORED AS TEXTFILE;

相关问题 更多 >