sqoop命令总结

1.数据从mysql到hdfs

/opt/cloudera/parcels/CDH-5.12.1-1.cdh5.12.1.p0.3/lib/sqoop/bin/sqoop import \
--connect jdbc:mysql://mysql_ip:3306/mysql_database \
--username root \
--password mysql_pwd \
--table mysql_table \
--target-dir /cetc2020/1/1/user/hdfs_dir/$db_date \
--delete-target-dir \
--hive-delims-replacement '' \
--num-mappers 1 \
--fields-terminated-by "\t"

解析:
--hive-delims-replacement 这个是为了防止mysql字段的值有换行符,
--hive-delims-replacement ''可以替换换行符换成空字符串

2.数据从mysql表到hive表

/opt/cloudera/parcels/CDH-5.12.1-1.cdh5.12.1.p0.3/lib/sqoop/bin/sqoop import \
--connect jdbc:mysql://mysql_ip:3306/mysql_database \
--username root \
--password mysql_pwd \
--table mysql_table \
--fields-terminated-by '\001' \
--lines-terminated-by '\n' \
--hive-import \
--hive-overwrite \
--hive-database hive_database \
--hive-table hive_table \
--hive-delims-replacement '' \
--delete-target-dir -m 1



解析:
--hive-delims-replacement 这个是为了防止mysql字段的值有换行符,
--hive-delims-replacement ''可以替换换行符换成空字符串
 

3.数据从hive的数据到mysql表

/opt/cloudera/parcels/CDH-5.12.1-1.cdh5.12.1.p0.3/lib/sqoop/bin/sqoop export \
--connect jdbc:mysql://mysql_ip:3306/mysql_database \
--username root \
--password mysql_pwd \
--table mysql_table \
--num-mappers 1 \
--export-dir /data/hive/warehouse/xzs.db/hive_table \
--input-fields-terminated-by  '\001' 

4.sqoop执行hive的查询等语句

/opt/cloudera/parcels/CDH-5.12.1-1.cdh5.12.1.p0.3/lib/sqoop/bin/sqoop eval \
--connect jdbc:mysql://mysql_ip:3306/mysql_database \
--username root \
--password mysql_pwd \
--query "truncate table mysql_table;"

猜你喜欢

转载自www.cnblogs.com/makailong/p/12765563.html