我想创建一个以多字符串字符作为分隔符的 HIVE 表,例如
CREATE EXTERNAL TABlE tableex(id INT, name STRING)
ROW FORMAT delimited fields terminated by ','
LINES TERMINATED BY '\n' STORED AS TEXTFILE LOCATION '/user/myusername';
我想将分隔符作为多字符串,如“~*”。
最佳答案
FILELDS TERMINATED BY
不支持多字符定界符。最简单的方法是使用 RegexSerDe
:
CREATE EXTERNAL TABlE tableex(id INT, name STRING)
ROW FORMAT 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "^(\\d+)~\\*(.*)$"
)
STORED AS TEXTFILE
LOCATION '/user/myusername';
关于hadoop - 使用多字符分隔符创建 HIVE 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18931427/