如何在HIVE表创建中将STRING指定为分隔符

时间:2013-01-03 06:56:30

标签: hive delimiter

我的数据如下:

一个|| b ||ç

要获取数据,我的create table语句是:

创建表

(col1 STRING,

col2 STRING,

col3 STRING)

行格式删除字段由" ||";

终止

但是这里正在采取' |'作为分隔符不是" ||"。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

处理多字符分隔符字符串时,您可以使用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';

注意:优化正则表达式以满足您的需求