概述
hive to mysql 有三种模式
1、默认是把hive中的数据插入到进mysql的 表中
2、更新mysql中的数据
3、更新和插入mysql中的数据
mysql 和 hive中空值存储转化
–input-null-string ‘N’
–input-null-non-string ‘N’
先把数据导入到临时表中,成功之后 再把临时表中 的数据导入到真正 的表中。
避免导出部分任务失败,造成数据不完整的情况。
sqoop导出时不会字段创建表,所以要自己创建好导出的表和临时表
要求临时表和真正 的表结构一致
–staging-table student_tmp
–clear-staging-table
–测试脚本 默认insert
sqoop export
–connect jdbc:mysql://al-node2:3306/test
–username root
–password root
–table student
–columns “id,name,score,home”
–export-dir /user/hive/warehouse/test.db/student
–input-null-string ‘N’
–input-null-non-string ‘N’
–staging-table student_tmp
–clear-staging-table
–input-fields-terminated-by ‘t’
–fields-terminated-by ‘,’
–测试脚本 update
sqoop export
–connect jdbc:mysql://al-node2:3306/test
–username root
–password root
–table student
–columns “id,name,score,home”
–export-dir /user/hive/warehouse/test.db/student
–update-mode updateonly
–update-key id
–input-null-string ‘N’
–input-null-non-string ‘N’
–input-fields-terminated-by ‘t’
–fields-terminated-by ‘,’
–测试脚本 update and insert
sqoop export
–connect jdbc:mysql://al-node2:3306/test
–username root
–password root
–table student
–columns “id,name,score,home”
–export-dir /user/hive/warehouse/test.db/student
–update-mode allowinsert
–update-key id
–input-null-string ‘N’
–input-null-non-string ‘N’
–input-fields-terminated-by ‘t’
–fields-terminated-by ‘,’
–hive建表
create table if not exists test.student(
id int,
name string,
score int,
home string
)
row format delimited fields terminated by ‘t’;
–mysql建表
create table student(
id int(10),
name varchar(255),
score int(10),
home varchar(255)
);
create table student_tmp(
id int(10),
name varchar(255),
score int(10),
home varchar(255)
);
最后
以上就是跳跃鞋垫为你收集整理的sqoop hive to mysql的全部内容,希望文章能够帮你解决sqoop hive to mysql所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复