我的数据如下:
a||b||c
要获取数据,我的create table语句是:
创建表
(col1 STRING,
col2 STRING,
col3 STRING)
由“||”终止的行格式删除字段;
但这里是'|'作为分隔符不是“||” .
谁可以帮我这个事?
在处理多字符分隔符字符串时,您可以使用RegexSerDe:
create table mytable ( col1 string, col2 string, col3 string ) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' WITH SERDEPROPERTIES ( "input.regex" = "^([^\\|]+)\\|\\|([^\\|]+)\\|\\|([^\\|]+)$", "output.format.string" = "%1$s %2$s %3$s") STORED AS TEXTFILE LOCATION '/path/to/data';
注意:优化正则表达式以满足您的需求
1 回答
在处理多字符分隔符字符串时,您可以使用RegexSerDe:
注意:优化正则表达式以满足您的需求