Sqoop 将mysql数据导入Hive 遇到的问题,求解!
sqoop import \--connect jdbc:mysql://45.0.0.112:3306/Hadoop_Data --username root --password admin \
--query "select * from loginlog_201101 where loginDate='2011-01-01' AND \$CONDITIONS" --split-by loginlog_201101.username \
--hive-import -m 5 \
--hive-table loginlog \
--hive-partition-key year --hive-partition-value 2011 \
--hive-partition-key month --hive-partition-value 01 \
--hive-partition-key day --hive-partition-value 01
以上代码 是我的逻辑需求,搜索了sqoop官网,问了很久度娘,
这条语句一直无法通过,请问有用过sqoop的人可否能回答我的问题
请上报错日志
楼主搞定这个问题了吗?
我也有类似的语句,无法执行,好像语法有误。
sqoop import \ --connect jdbc:mysql://45.0.0.112:3306/Hadoop_Data --username root --password admin \ --query "select loginDate from loginlog_201101 where loginDate='2011-01-01' AND \$CONDITIONS" --columns loginDate --split-by loginlog_201101.username \ --hive-import -m 5 \ --hive-table loginlog \ --hive-partition-key year --hive-partition-value 2011 \ --hive-partition-key month --hive-partition-value 01 \ --hive-partition-key day --hive-partition-value 01
试试这个吧,用query的时候最好指定列名,看行不行,不行直接找我
引用 3 楼 fengxuegupo 的回复:sqoop import \ --connect jdbc:mysql://45.0.0.112:3306/Hadoop_Data --username root --password admin \ --query "select loginDate from loginlog_201101 where loginDate='2011-01-01' AND \$CONDITIONS" --columns loginDate --split-by loginlog_201101.username \ --hive-import -m 5 \ --hive-table loginlog \ --hive-partition-key year --hive-partition-value 2011 \ --hive-partition-key month --hive-partition-value 01 \ --hive-partition-key day --hive-partition-value 01
试试这个吧,用query的时候最好指定列名,看行不行,不行直接找我
官方文档上面说,只要使用--query,就必须指定target-dir。
这个代码您试过了吗?
mysql的我不清楚,oracle的不用指定
指定--target-dir
之前我也遇到过的。。 后来加上这个就可以了
页:
[1]