使用sqoop直接执行导入导出写法
从mysql导入到hive
sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true --connect jdbc:mysql://10.20.30.105/appbase --username lty --password ltywh123 --fields-terminated-by "\t" --hive-import --incremental lastmodified --check-column startTime --last-value '2017-05-05 10:03:05' --hive-partition-key computeDate --hive-partition-value '20170706' --target-dir /tmp/my_trail --table my_trail --hive-table userdb.my_trail
注释:这种写法只适用于mysql的端口号为默认的3306,如果mysql为其他端口号,应该在ip后面加上端口号
从hive导出到mysql
从mysql导入到hive
sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true --connect jdbc:mysql://10.20.30.105/appbase --username lty --password ltywh123 --fields-terminated-by "\t" --hive-import --incremental lastmodified --check-column startTime --last-value '2017-05-05 10:03:05' --hive-partition-key computeDate --hive-partition-value '20170706' --target-dir /tmp/my_trail --table my_trail --hive-table userdb.my_trail
注释:这种写法只适用于mysql的端口号为默认的3306,如果mysql为其他端口号,应该在ip后面加上端口号
从hive导出到mysql
sqoop export --connect jdbc:mysql://10.20.30.105/appbase --username lty --password ltywh123 --table userod_citycode_test --export-dir /apps/hive/warehouse/userdb.db/userod_citycode_test --fields-terminated-by '\t' --lines-terminated-by '\n' --input-null-string '\\N' --input-null-non-string '\\N'
password含特殊字符的要在前面加转义字符\
注释: jdbc连接同上