Sqoop操作集合

1.在hive中建一个与mysql中一模一样的表

sqoop create-hive-table --connect jdbc:mysql://***.**.***.**:3306/数据库名称  --table 表名 --username root --password root --hive-partition-key 分区名称 --hive-table hive中的表名

2.在1完成后,自由导数到hive:

sqoop import  --connect jdbc:mysql://***:3306/数据库  --username root --password root  --query "SELECT * from hive_cc_daas_insurance_sales  where pt=$value  and \$CONDITIONS  limit 1000"  --target-dir /tmp/hive_cc_daas_insurance_sales --hive-table db_bi.hive_cc_daas_insurance_sales --hive-import --m 1 \
--hive-partition-key 分区名称 \
--hive-partition-value 分区值 

其中
a.$CONDITIONS 是必须的,具体原理可以百度。
b.--target-dir /tmp/hive_cc_daas_insurance_sales 指的是从mysql中的数据放到hdfs的哪部分上(Sqoop导数mysql->hdfs->hive)
c.1中的--hive-partition-key必须和2中的hive-partition-key,hive-partition-value同时存在或不存在
d.--fields-terminated-by ',' mysql中的字段存储在HDFS上时,以,分割

猜你喜欢

转载自www.cnblogs.com/WinseterCheng/p/9290861.html