我正在使用以下查询以组分隔符(GS)为分隔符创建外部表

CREATE EXTERNAL TABLE IF NOT EXISTS icephase2Demo.GS_TEST1
(
RandomString1 String,
RandomString2 String
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\35'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
LOCATION '/DataSourcing/DV_POC/GS_TEST/';

然后我从文件加载数据
load data inpath '/DataSourcing/DV_POC/groupseperatorOutput.dat' into table icephase2Demo.GS_TEST1;

以下是我文件中的输入

hadoop - 在配置单元外部表中使用组分隔符(GS)作为分隔符-LMLPHP

但是当我在 hive 中发出select命令时,我得到的是串联的值
hive> select * from GS_TEST1;

nAUrLJdXYKFw NULL

I9X24g8mqIMQ NULL

\ 35是组分隔符的八进制值。其ascii值为29。
我知道 hive 未选择定界符“\ 35”。

请提出解决此问题的方法

最佳答案

使用\29(十进制),\035(八进制)或\u001D(十六进制)

关于hadoop - 在配置单元外部表中使用组分隔符(GS)作为分隔符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44929843/

10-16 01:33