导入 Import--增量导入--Lastmodified 模式(Merge key 合并数据) | 学习笔记

简介: 快速学习 导入 Import--增量导入--Lastmodified 模式(Merge key 合并数据)

开发者学堂课程【Sqoop 企业级大数据迁移方案实战导入 Import--增量导入--Lastmodified 模式(Merge key 合并数据)学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/718/detail/12840


导入 Import--增量导入--Lastmodified 模式(Merge key 合并数据)


一、Merge key 合并数据

在这 Lastmodified 种模式下,会根据我们的时间类型的字段进行增量导入,在默认的情况下,是 append 追加(新增的两个数据以追加的形式或者附加的形式产生一个新的文件),另外一个模式叫 Merge key(合并),这种模式是指定相关的 ID 后,会根据我们 id 来进行判断,如果数据有更新或者有变化,就会合并成新的文件,Merge key 相当于把变化数据新增数据的统一的更新到一个文件当中,相当于从零开始做一个更新。

使用 merge-by 的模式进行增量更新,我们去更新 id 1name

字段。

update customertest set name=Neilwhere id=1;

将以上代码进行复制,运行,刷新后会发新名称已经被修改,更新之后,这条数据的时间戳会更新为更新数据时的系统时间

image.png

执行如下指令,把 id 字段作为 merge-key:

bin/sqoop import\

--connect jdbe:mysql://node-1:3306/userdb

--username root

--password hadoop

--table customertest\

--target-dir/lastmodifiedresult\

--check-column last mod

--incremental lastmodified\

--last-value2019-05-28 18:42:06

--m1\

--merge-key id

会发现导入的时间已经增加上了,第一条时间也发生了改变

image.png

这种模式进行合并的时候,相当于做了两件事,第一个如果数据当中有变化,会把变化的数据同步过来,第二个如果数据有追加有新增的数据,也会把增量数据变换过来,而且会出现同一条记录重复的情况,比如说一个表,一个订单或者一个用户信息,这一个月增加了20万个用户,在你把这20万元的数据导入过来的同时,之前的数据可能有某些信息也发生了变化,让你把这些变化的数据也进行同步,用这个模式将会非常的方便,它既可以导入增量数据又可以把更新的数据变化过来,相当于做了一次完整的程序,而且会保证数据的不重复。

小记:

1、关于 lastmodified 中的两种模式:

1oappend 只会追加增量数据到一个新的文件中 并且会产生数据的重复问题,因为默认是从指定的 last-value 大于等于其值的数据开始导入

2o merge-key 把增量的数据合并到一个文件中 处理追加增量数据之外如果之前的数据有变,修改也可以进行修改操作底层相当于进行了一次完整的 m 作业。数据不会重复。

相关文章
|
SQL 分布式计算 NoSQL
Spark 操作 kudu -- 增加,删除,修改,查询操作 | 学习笔记
快速学习 Spark 操作 kudu -- 增加,删除,修改,查询操作
1593 0
Spark 操作 kudu -- 增加,删除,修改,查询操作 | 学习笔记
|
12月前
一行代码 base64批量解密
一行代码 base64批量解密
124 0
|
6月前
|
XML Java BI
​ 文件导出
​ 文件导出
41 1
|
分布式计算 Hadoop 关系型数据库
导入 Import--增量导入--Append 模式 | 学习笔记
快速学习 导入 Import--增量导入--Append 模式
344 0
导入 Import--增量导入--Append 模式 | 学习笔记
|
SQL 存储 分布式计算
导入 Import--表子集数据导入 | 学习笔记
快速学习 导入 Import--表子集数据导入
144 0
导入 Import--表子集数据导入 | 学习笔记
|
存储 SQL 分布式计算
导出 Export--默认模式导出(Insert)| 学习笔记
快速学习 导出 Export--默认模式导出(Insert)
212 0
导出 Export--默认模式导出(Insert)| 学习笔记
|
分布式计算 关系型数据库 MySQL
导入 Import--全量数据导入 Hdfs--并行度设置&注意事项 | 学习笔记
快速学习 导入 Import--全量数据导入 Hdfs--并行度设置&注意事项
217 0
导入 Import--全量数据导入 Hdfs--并行度设置&注意事项 | 学习笔记
|
存储 机器学习/深度学习 分布式计算
导出 Export--默认模式导出(Insert)--配置参数 | 学习笔记
快速学习 导出 Export--默认模式导出(Insert)--配置参数
335 0
导出 Export--默认模式导出(Insert)--配置参数 | 学习笔记
|
JSON JavaScript 数据格式
VUE element-ui之jspreadsheet-ce在线表格数据json序列化(excel数据同步为相应key:value,并过滤掉为空的数据,未输入的行)
VUE element-ui之jspreadsheet-ce在线表格数据json序列化(excel数据同步为相应key:value,并过滤掉为空的数据,未输入的行)
583 0
VUE element-ui之jspreadsheet-ce在线表格数据json序列化(excel数据同步为相应key:value,并过滤掉为空的数据,未输入的行)
|
分布式计算 Java 关系型数据库
导入 Import--增量导入--Lastmodified 模式(附加数据)| 学习笔记
快速学习 导入 Import--增量导入--Lastmodified 模式(附加数据)
123 0