sqoop bug分享:HiveException: [xxxxxx--delete-target-dir]: is not a valid table name

sqoop导入hive警告WARN TableDefWriter:Column height had to be cast to a less precise type in Hive_hive.tabledefwriter: column update_time had to be _a904364908的博客-CSDN博客

这个bug我第一反应是我的sqoop语句错了,于是删了增量导入改全量导入,还是报错。接着重新建hive预设表的数据类型,还是报错。甚至还不断修改表名,还是报错。上面的文章让我发现不是我想的是表列数据类型的问题,重新考虑最后的报错——表名不合理!最后搜了搜报错表名后的--delete-target-dir,才发现是我自己写的东西,怎么被加到表名里了???

sqoop import \
--connect 'jdbc:mysql://singlenode:3306/sales_source?useSSL=false&serverTimezone=UTC' \
--driver com.mysql.jdbc.Driver \
--table sales_order \
--username hadoop \
--password hadoop \
--hive-import \
--hive-database sales_ods \
--hive-table par_ordr3 \
--delete-target-dir\
--target-dir /data/sales_source/sales_order/platform=taobao8282056 \
--hive-partition-key platform \
--hive-partition-value "taobao" \
--m 1

看了看,原来是少了一个空格,导致浪费了半小时。

斜杠前面都要加空格,否则会被融合成一行。在--delete-target-dir和\之间加上空格,终于解决了整个人为bug。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值