hue sqoop mysql_hue执行sqoop action需要注意的几个问题及sqoop导入特殊字符处理

hue 中执行sqoop

action时候,以下方式可以正确执行成功,数据成功导入hive表中,有以下几个注意的地方:

1、操作的时候不能带sqoop在前面,只需要import export 就可以了

2、在--columns中 不能使用单引号'',只需要在--column之后列出所有的需要导入的列就可以了

3、--fields-terminated-by '\t'

该参数使用可能会使导入报错,提前建好表的情况下,不使用该参数可以正确导入;使用该参数反而会报错。在hue中直接使用\t就可以了,不用使用单引号,否则会失败!!

4、导入hive的时候,hive的配置文件需要以文件形式添加进来

5、mysql的驱动jar包需要以文件形式添加进来,该文件名需要注意,有些版本可能只认识不带版本号的jar包,如果是这样的情况可能通过修改jar文件>名来。判断的出错的原因大致是share/lib目录上传的时候未导入mysql驱动包,在另外一个CDH集群中,可以不导入hive-site文件与mysql

jar文件程序>一样可以正确执行

6、--delete-target-dir

需要在导入的时候指定参数,删除导入的临时目录,否则下次导入的时候将会报错,报目录已存在7、如果程序执行过程中报错,可以查看页面端日志,如果页面端不能查看,可以到hdfs上面的job

log日志目录上查看该job相关执行日志,找到报错信>息进行对应修改 /tmp/logs目录

8、此执行方式的一些写法与命令行方式的写法有一定的差异,请注意import --connect

jdbc:mysql://host:port/database --username root --password 123456

--table tbl1 --columns column1,column2,column3,column4......

--hive-import --hive-overwrite --delete-target-dir --hive-table

database.tbl1 -m 1

9、sqoop export数据从hdfs到mysql过程中,存在两个问题;1

、当mysql表中字段为timestamp时,日期格式会报错;2、hdfs上的文件进行切分的时候有可能因为分割符的原因导致切分的数据列不匹配导出失败。

-----------------------------------另外一些命令行的导入方式

数据导入成功,不指定列,直接将全表数据>导入,数据直接导入hive表中,表可以不提前创建

sqoop import --connect jdbc:mysql://host:port/database

--username root --password 123456 --table tbl1 --hive-import

--hive-overwrite --hive-table database.tbl1  -m

1;

-----------------------------------另外一些命令行的导入方式qoop import

--connect jdbc:mysql://host:port/database --username root

--password formax@2017 --table tbl1 --columns

column1,column2,column3... --target-dir

'/data/aaa_data/ppp_data/tbl1' --delete-target-dir --hive-import

--hive-overwrite --hive-table database.tbl1 --fields-terminated-by

'\t' -m 1;

---------------------------sqoop imort into

hdfs

sqoop import --connect jdbc:mysql://10.1.2.94:3306/test

--username username--password password--table a_apply_info

--target-dir /user/formax/test/a_apply_info -m 1

--fields-terminated-by "\t" --lines-terminated-by

"\n" --delete-target-dir --input-null-string '\\N'

--input-null-non-string '\\N' --hive-drop-import-delims

---------------------------sqoop执行导入的时候目标表中可能包含特殊字符会导致,load进入hive表的数据比源表要多,需要添加参数解决:

--hive-drop-import-delims

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值