我正在尝试使用sqoop将数据从mysql数据库导入hdfs。sqoop import语句执行得很好,但是当我查看hdfs文件时,一些字段在字段的末尾显示为\character(因为mysql表字段有一个字符,在两个单词之间,但是是同一个字段)。你能帮我把这个字段和mysql表字段一样导入hdfs吗?。
示例:mysql表字段(name)的值为(sami,ramesh),当我使用sqoop将其导入hdfs时,我将此字段视为sami/ramesh(不同的字段,如2个字段)。我想在hdfs中使用sami、ramesh(像mysql字段一样的单个字段)。
有什么办法吗?。非常感谢你的帮助。
2条答案
按热度按时间qvk1mo1f1#
典型的sqoop无法解决您的问题。导入数据时需要使用query(而不是table)并替换','。
如
izkcnapc2#
没有看到你尝试的进口声明,我不是100%确定为什么会发生这种情况。。。但原因可能是您对字段使用的是默认分隔符,它正好是一个逗号,因此如果您想保留它,应该使用不同的分隔符,例如:
另一种选择是使用
--enclosed-by '\"'
,看起来像“萨米,拉美什”。希望有帮助!如果没有,请张贴您的进口声明,看看问题出在哪里。