我在原始日志中有以下数据:
America^|#|^Northern America^|#|^United States^|#|^Texas^|#|^Houston TX
这里的分隔符是^ |#| ^
但是,在传递分隔符以创建外部表时,只有第一个字符^被视为分隔符。
使用的代码是:
create external table xyz
(
col_name1 string,
col_name2 string,
col_name3 string,
col_name4 string,
col_name5 string,
)
row format delimited
fields terminated by '^!#!^'
lines terminated by '\n'
location '/data/raw/table;
期待这样一张桌子:
col_name1 col_name2 col_name3 col_name4 col_name5
America Northern America United States Texas Houston TX
相反,我得到的输出是:
col_name1 col_name2 col_name3 col_name4 col_name5
America |#| Northern America |#| United States
有谁知道如何将多个字符作为分隔符传递?
感谢任何帮助!
答案 0 :(得分:0)
最好用一些单字符分隔符替换此分隔符。或者,如果需要真正的多字符分隔符,则使用Unicode字符。