【发布时间】:2017-09-21 18:17:34
【问题描述】:
如果数据库在字段中包含诸如“,”和“\n”之类的字段,有没有办法让 sqoop 到 hive 而不必修复这些分隔符,可能使用替代格式而不是标准文本文件?一直在使用一些解决方法(即/替换分隔符、替换等)。
【问题讨论】:
标签: hadoop hive teradata sqoop
如果数据库在字段中包含诸如“,”和“\n”之类的字段,有没有办法让 sqoop 到 hive 而不必修复这些分隔符,可能使用替代格式而不是标准文本文件?一直在使用一些解决方法(即/替换分隔符、替换等)。
【问题讨论】:
标签: hadoop hive teradata sqoop
我发现在换行符的列基础上解决此问题的解决方案:
SELECT
COL_A,
OREPLACE(COL_B, '0A'XC, '_replace_char_'),
...,
COL_N
FROM
TABLE_NAME
假设这也适用于逗号。我还没有测试你是否可以嵌套这个 replace char 语句。也没有估计对假脱机空间使用的影响。
解决方案在第一个问题中找到,而不是在“答案”中:
https://community.teradata.com/t5/Database/Removing-a-line-break-character-in-a-column/td-p/52431
【讨论】: