Amazon Athena:以|分隔的分隔线

RAb*_*ham 3 amazon-athena

我有日志文件,其中每一行的格式为:

key1=val1|key2=val2|key3=val3
Run Code Online (Sandbox Code Playgroud)

如何使Amazon Athena将其拆分为列key1key2以及key3

jen*_*ter 5

您可以基于正则表达式创建表。这样,您可以为表定义解析方案。

对于您的示例,DDL看起来像这样。

CREATE EXTERNAL TABLE IF NOT EXISTS test (
  key1 string,
  key2 string,
  key3 string
) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
 "input.regex" = "^key1=([^\\|]+)\\|key2=([^\\|]+)\\|key3=([^\\|]+)$"
) LOCATION 's3://njams-data/test/';
Run Code Online (Sandbox Code Playgroud)