Sqoop導入/導出Hive到Mysql中包含自增ID字段/自動寫入時間字段


場景:

從Hive導出數據表到Mysql並且Mysql表已創建,其中存在的Mysql表中還有一個Hive中沒有的自增ID字段(自動寫入時間字段類似這里不再重復敘述)。

這種情況怎么使用Sqoop呢?

 

可以使用 --columns參數來指定要導入/導出的字段,其余字段(自增ID/寫入時間字段等)Mysql中會自動更新;

sqoop export -D mapred.job.name="任務的名字" -D mapred.job.queue.name=root.hdfs --connect jdbc:mysql://ip:port/db?zeroDateTimeBehavior=convertToNull --username user_name --password password --table mysql_table --export-dir /hdfs/xxx/dt=2019-12-31/ --outdir /緩存路徑xxxx/sqoop_generated --num-mappers 1 --input-null-string '\\N' --input-null-non-string '\\N' --fields-terminated-by '\001' --columns "col1,col2,col3”

上面的命令任務的名字、任務的隊列可以選填,刪減掉一些可選項如下:

sqoop export --connect jdbc:mysql://ip:port/db?zeroDateTimeBehavior=convertToNull --username user_name --password password --table mysql_table --export-dir /hdfs/xxx/dt=2019-12-31/ --outdir /緩存路徑xxxx/sqoop_generated --num-mappers 1 --input-null-string '\\N' --input-null-non-string '\\N' --fields-terminated-by '\001' --columns "col1,col2,col3”
 

  

sqoop export \
--connect jdbc:mysql://${hostName}:${port}/${db_info} \
--username ${username} \
--password ${password} \
--table xs_1_product_dacheng_collect \
--hive-partition-key dt \
--hive-partition-value '${do_data}' \
--export-dir /gwm/dw/ads/${tableName}/dt=${do_data} \
--fields-terminated-by "\t" \
--input-null-string '\\N' \
--input-null-non-string '\\N' 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM