我正在使用sqoop从各种来源获取数据,我注意到很多事情都可能出错。我曾经多次发生某些列包含分隔符,这些分隔符会导致额外的不需要的行,从而导致不需要的NULL值。不想要的角色包括坏人,如windows delmiter \ r \ n,一直到Icalandic Thorn。
处理这些问题的最佳做法是什么?
我考虑过按列选择所有内容并使用REPLACE
类型方法移除邪恶角色,但感觉应该有更好的方法。
答案 0 :(得分:3)
在较新版本的sqoop中,您拥有--hive_drop-import-delims
或--hive-delims-replacement
命令。
请参阅https://sqoop.apache.org/docs/1.4.3/SqoopUserGuide.html
这将处理字符串字段中的\r \n
和\001
。对于其他替换,您可以使用REPLACE函数进行解决方法