欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sqoop导入数据脚本 博客分类: hadoophiveshell shellmysqlhivesqoop 

程序员文章站 2024-03-15 10:09:05
...
sqoop export \
        -D mapred.job.queue.name=hive_user \
        --connect jdbc:mysql://${host}:${port}/${db} \
        --username ${username} \
        --password ${password} \
        --table ${table_name} \
        --export-dir ${hdfsdir}/dt=${dt}  \
        --update-key STUDENT_ID \
        --columns STUDENT_ID,STUDENT_NAME,ADDRESS,CREATE_DATETIME,UPDATE_DATETIME    \
        --update-mode allowinsert \
        -m 1 \
        --verbose \
        --fields-terminated-by '\t'

 

以上脚本实现了从Hive中往MySQL对于一张学生信息表的更新。

  1. 由于MySQL表里有自增列ID,而Hive中没有,所以需要在输入参数columns指定所有的列。
  2. 由于MySQL表里有唯一键,所以在输入参数update-key指定更新键名称STUDENT_ID
  3. Hive和MySQL列名类型和名称应当一致或者符合对应关系,比如Hive的timestamp对应datetime。
  4. 更新模式使用--update-mode allowinsert。默认为onlyupdate