首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sqoop导入结果中的额外反斜杠

Sqoop导入结果中的额外反斜杠
EN

Stack Overflow用户
提问于 2016-06-02 11:14:00
回答 1查看 442关注 0票数 0

目前我正在使用Sqoop将HP Vertica数据库中的数据导入Hive,对于某些带有特殊字符的列,结果与Vertica DB中的数据不同,代码如下:

代码语言:javascript
复制
sqoop import --driver com.vertica.jdbc.Driver --connect jdbc:vertica://db.foo.com/corp \
--username xx --P --where 'SRC_SYS_CD=xxx' --null-string '\\N' --null-non-string '\\N' \
--m 1 --fields-terminated-by '\001' --hive-drop-import-delims --table addr             \
--target-dir /xxxx/addr

vertica DB中的数据:

代码语言:javascript
复制
SRC_SYS_CD  CTRY_CD ADDR_ID ADDR_TYP_CD ADDR_STR_1_LG_NM
123456      NZ      107560  NULL        C\ - 108 Waiatarua Road

Hive DB中显示的数据:

代码语言:javascript
复制
SRC_SYS_CD  CTRY_CD ADDR_ID ADDR_TYP_CD ADDR_STR_1_LG_NM
123456      NZ      107560  NULL        C\\ - 108 Waiatarua Road

唯一的区别是列ADDR_STR_1_LG_NM,在sqoop导入之后,添加了一个反斜杠()。而其他没有反斜杠()的列则没有更改。

因为vertica中有NULL,所以我们必须使用--null-string '\N‘--null-non-string '\N’。

我已经尝试了其他一些选项,比如:

代码语言:javascript
复制
--escaped-by \\ --optionally-enclosed-by '\"'

但这并不管用。

EN

回答 1

Stack Overflow用户

发布于 2016-06-27 13:38:11

对于--hive-drop-import-delims支持直接连接的DB,使用-- direct 和remove and将按原样导入数据。

This link lists DB that sqoop supported

虽然我已经确认Vertica支持直接连接,但没有列出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37582011

复制
相关文章

相似问题

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