背景信息:

本文用Sqoop实现MySQL中数据向Hive数据的抽取,研究在修改MySQL中数据以及表结构对抽取结果的影响

环境:

cloudera VM(包含Hadoop生态各组件),并在此VM中安装MySQL

初始状态:

Mysql中表数据如下所示:

利用SQOOP从MySQL向Hive同步数据:

源表mysql:wht.people

目的表:Hive: db01.people

sqoop import --connect jdbc:mysql://localhost:3306/wht --username root --password root --table people --fields-terminated-by ','  --hive-import --hive-table db01.people --hive-overwrite -m 1 

在HUE中查询Hive中数据:

场景一

修改MySQL中数据,重新同步,检查Hive中数据是否会被更新

结论:Hive中的数据会被更新

推测:数据文件被删除后重新进行了抽取

sqoop import --connect jdbc:mysql://localhost:3306/wht --username root --password root --table people --fields-terminated-by ','  --hive-import --hive-table db01.people --hive-overwrite -m 1

场景二

增加/删除MySQL中数据,重新同步,检查Hive中数据是否会被增加

结论:Hive中的数据会增加/删除

推测:应该是被删除后重新进行了抽取

sqoop import --connect jdbc:mysql://localhost:3306/wht --username root --password root --table people --fields-terminated-by ','  --hive-import --hive-table db01.people --hive-overwrite -m 1

场景三

修改MySQL中表结构,增加一列,检查Hive中表结构是否会被同步修改

现象:源表中的新增列没有被同步过来

推测:应该只有数据文件被重建,但是元数据不会被修改

sqoop import --connect jdbc:mysql://localhost:3306/wht --username root --password root --table people --fields-terminated-by ','  --hive-import --hive-table db01.people --hive-overwrite -m 1

场景四

修改MySQL中表结构,删除一列,检查Hive中表结构是否会被同步修改

现象:源表中的删除列在Hive显示值为NULL

推测:应该只有数据文件被重建,但是元数据不会被修改

sqoop import --connect jdbc:mysql://localhost:3306/wht --username root --password root --table people --fields-terminated-by ','  --hive-import --hive-table db01.people --hive-overwrite -m 1

Sqoop:MySQL2Sqoop修改源表结构对同步数据的影响相关推荐

  1. mysql schema 同步_GitHub - naryn/mysql-schema-sync: mysql表结构自动同步工具

    mysql-schema-sync mysql表结构自动同步工具 用于将 线上 数据库结构变化同步到 本地环境! 支持功能: 同步新表 同步字段 变动:新增.修改 同步索引 变动:新增.修改 支持预览 ...

  2. 查看修改MySQL表结构命令

    查看修改MySQL表结构命令 简述 小编经常会遇到一些数据库编码不对得问题,好TM头疼,这里做一个记录,供大家参考. 修改数据库字符集: ALTER DATABASE db_name DEFAULT ...

  3. 复制表、复制表结构、复制数据

    完全复制表(含表结构+表数据) create  table   新表名  as  select * from  需要复制的表名; 复制表部分字段和数据 CREATE TABLE   新表名(列1,列2 ...

  4. Sql Server 数据库,只复制表结构不复制表数据如何操作?

    Sql Server 数据库,只复制表结构不复制表数据如何操作? 1.选中要复制的数据库 2.右键 3.任务 4.生成脚本 5.弹出生成数据库对象的脚本窗口,点下一步 6.选择要编写脚本的数据库对象, ...

  5. Mysql创建表结构及插入数据代码

    Mysql创建表结构及插入数据代码 CREATE TABLE `user` (`id` int(11) NOT NULL auto_increment,`username` varchar(255) ...

  6. mysql gh 划线,gh-ost:在线DDL修改MySQL表结构工具

    在之前,我分享过一次pt-online-schema-change在线DDL的工具实践记录,在实际使用过程中,发现部门的很多老系统大量使用了触发器,从而无法使用这个工具,非常遗憾!导致很多DDL变更都 ...

  7. 快速生成sparksql创建carbondata表结构(同步mysql或sqlserver数据)脚本

    前言 当实时同步mysql或sqlserver很多表数据到carbondata时,经常要手动调整脚本涉及到的每个表的字段.类型及对应建表语句,耗费大量的机械比对粘贴复制工作时间.精力,下面介绍的脚本能 ...

  8. 修改mysql表结构语句

    昨天在执行碰到几个报错,总提示缺少mysql表结构里的字段什么的,当时有点没头绪不知道从哪里着手,再次记录一下修改表结构的语句,保证下次不会在出现此类问题; mysql 修改表结构语句 ALTER T ...

  9. java修改数据库表结构_数据库设计(一):设计传统系统表结构(Java开发)

    以下文章来源于微信公众号 程序编程之旅 ,作者陈浩翔 此处仅供本人学习记录之用,侵删 本篇为第一篇.讲解传统系统的表结构设计(Java开发). 讲讲如何避免数据库设计的一些坑,方便后期的开发与维护. ...

最新文章

  1. Cacti Weathermap添加主机在线状态图示检测
  2. swift中字符串截取方法(substring)
  3. 2019全球AI争夺战最新汇总
  4. vim 删除操作命令
  5. 区块链BaaS云服务(21)腾讯CCGP“跨链流程”
  6. 能源项目xml文件 -- springMVC-servlet.xml
  7. FormatUtil
  8. 数据结构之树和二叉树的定义和性质
  9. java图片转换为数据流_OpenCV 读取数据流图片
  10. 当你已经23~男生女生都该看
  11. 上海芯导电子科技股份有限公司IPO过会
  12. ffmpeg文档3:播放声音
  13. Qone 自动删除说说脚本
  14. 软件工程网络15个人阅读作业2(201521123010徐璐琳)
  15. 怎样才能在电脑上下载计算机一级考试软件?
  16. 计算机控制系统的框图,计算机控制系统原理框图.doc
  17. python视频教程哪个好-Python教学视频哪个好?老男孩Python培训
  18. 【06月03日】预分红股息率最高排名
  19. 蓝牙Ibeacon室内定位和微信摇一摇周边原理分析
  20. 五一应该去哪里自驾游?哪里人最少,哪里不堵车?这份攻略你必须拥有。

热门文章

  1. 2019年企业数据生产力调研报告,90%的人都没看过
  2. 查看php项目tp版本,tp5.1如何查看版本号
  3. OS函数:sleep-exit-wait
  4. netty支持哪些协议_从零学习netty网络IO通讯开发框架
  5. python需要的英语单词怎么写_如何删除Python中的非英语单词?
  6. python脚本在centos系统一键卸载重新安装Mysql
  7. vue中computed与watch的区别
  8. linux命令cd回退_Linux命令一
  9. table合并单元格_element ui el-table 合并单元格
  10. 计算机算法设计与分析 最长递增子序列