首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从sqoop导入到蜂箱

将数据从sqoop导入到蜂箱
EN

Stack Overflow用户
提问于 2016-10-24 16:35:30
回答 1查看 159关注 0票数 0
代码语言:javascript
复制
sqoop import –connect “jdbc:mysql://quickstart.cloudera:3306/retail_db” \
    –username=retail_dba –password=cloudera –table export1 –hive-import \
    –hive-table export_3 –create-hive-table –fields-terminated-by “|” \
    –lines-terminated-by “\n” –null-string nvl –null-non-string -2 –outdir java_files

如果我使用上面的命令,它会给出一个错误

使用split或-m 1进行顺序导入

当我使用split-by时,它忽略了null值,并将其他值导入到蜂巢中。

你能解释原因吗?

谢谢瓦伦

EN

回答 1

Stack Overflow用户

发布于 2016-10-24 17:06:21

所获得的空值问题与拆分无关。

默认情况下,Sqoop将导入空值作为字符串空值。然而,Hive使用字符串\N来表示空值,因此处理NULL (例如is )的谓词将不能正常工作。如果您希望正确地保留空值,您应该附加参数-空字符串和--空字符串,或者--输入-空-字符串和--输入-空-非字符串。由于sqoop在生成的代码中使用这些参数,因此需要正确地将值\N转义到\N:

代码语言:javascript
复制
$ sqoop import  ... --null-string '\\N' --null-non-string '\\N'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40223323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档