我是靠谱客的博主 跳跃鞋垫,最近开发中收集的这篇文章主要介绍sqoop hive to mysql,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部