踩坑:
1.该台需要启动hiveserver2服务,因为sqoop会调用hive命令,进行数据load,或者创建表
2.hive lib下的jar包需要复制到sqoop lib下,测试环境直接全复制
3.hive conf目录下的 hive-site.xml hive-log4j-propertie.xml文件复制到sqoop conf/目录下
sqoop抽取mysql数据到hive过程分为2步:
1.抽取mysql数据到HDFS,可以指定–target-dir,若不指定默认到/usr/${USER}/下
2.调用hive load数据,可以自动创建hive表,默认数据格式为TEXTFILE,load完成后会删除 target-dir
单分区插入数据
支持overwrite
–hive-overwrite
bin/sqoop import \
--connect jdbc:mysql://192.165.1.43:3306/dscdb \
--username dscdb \
--password dscdb \
--table test2 \
--fields-terminated-by '|' \
--delete-target-dir \
--num-mappers 1 \
--hive-import \
--hive-database dsc_ods \
--hive-table testsqoop3 \
--target-dir /user/hadop/ \
--hive-partition-key p_hour \
--hive-partition-value 2020082809 \
--fields-terminated-by '|'