1、导入
sqoop import \
--connect jdbc:mysql://10.10.0.1:3306/test \
--username root \
--password 123456 \
--table session_detail \
--hive-import \
--hive-overwrite \
--hive-databbase xiet \
--fields-terminated-by '\001' \
--target-dir /user/hive/temp_sqoop/transfer_sjdk.db/session_detail \
--delete-target-dir \
--outdir /home/ \
--hive-drop-import-delims \
--null-string '\\N' \
--null-non-string '\0' \
-m 1 \
--as-parquetfile
2、导出
sqoop export \
--connect jdbc:mysql://ip-172-31-22-86.ap-southeast-1.compute.internal:3306/test_db \
--username testuser \
--password password \
--table mytest_parquet \
--hcatalog-database default \
--hcatalog-table mytest_parquet --num-mappers 1
参数说明:
--table:MySQL库中的表名
--hcatalog-database:Hive中的库名
--hcatalog-table:Hive库中的表名,需要抽数的表
--num-mappers:执行作业的Map数
使用传统的指定文件目录的方式无法导出hive数据到mysql。原因:这是Sqoop已知的问题,参考SQOOP-2907:
https://issues.apache.org/jira/browse/SQOOP-2907