在配置单元中加载数据时处理多个定界符

Handling Multiple Delimiter while loading data in hive

我正在使用 sqoop 和“|”从 db2 导入数据作为字段 delimiter.Then 使用加载数据命令将此数据加载到配置单元 table 中。在 hive table create 语句中我也使用字段分隔符作为 '|'但是从一列的源端来看,我在 30 条记录的 1M 条记录中找到了“|”在数据本身。因此,在加载数据时,配置单元将其视为新文件并加载到下一列。 有什么办法可以处理这种情况? 我找到了一些我们可以使用的外壳,但在数据中我也得到了多个特殊字符(-,/..等) 所以我无法决定我应该如何以及在哪里(sqoop 或 hive/both)使用这个外壳。 有人可以指导我如何处理这种情况。我也可以使用不同的字段分隔符(、| 等),因为我不确定数据中的特殊字符,当我在源代码中检查时发现多个字符。

sqoop import Properties:  -fields-terminated-by '|' --hive-drop-import-delims
Hive Table Properties: row format delimited fields terminated by '|' stored as textfile;
Sample Data:H No. 100,200,300,400, KbcColony-||, D Delhi

您可以使用 escaped-by 选项:

--escaped-by \ \
--fields-terminated-by '|' \