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对于一张学生信息表的更新。
- 由于MySQL表里有自增列ID,而Hive中没有,所以需要在输入参数columns指定所有的列。
- 由于MySQL表里有唯一键,所以在输入参数update-key指定更新键名称STUDENT_ID
- Hive和MySQL列名类型和名称应当一致或者符合对应关系,比如Hive的timestamp对应datetime。
- 更新模式使用--update-mode allowinsert。默认为onlyupdate