导入 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 作业。数据不会重复。

相关文章
|
8月前
|
SQL 分布式计算 关系型数据库
基于云服务器的数仓搭建-hive/spark安装
本文介绍了在本地安装和配置MySQL、Hive及Spark的过程。主要内容包括: - **MySQL本地安装**:详细描述了内存占用情况及安装步骤,涉及安装脚本的编写与执行,以及连接MySQL的方法。 - **Hive安装**:涵盖了从上传压缩包到配置环境变量的全过程,并解释了如何将Hive元数据存储配置到MySQL中。 - **Hive与Spark集成**:说明了如何安装Spark并将其与Hive集成,确保Hive任务由Spark执行,同时解决了依赖冲突问题。 - **常见问题及解决方法**:列举了安装过程中可能遇到的问题及其解决方案,如内存配置不足、节点间通信问题等。
基于云服务器的数仓搭建-hive/spark安装
|
SQL 分布式计算 关系型数据库
【数据采集与预处理】数据传输工具Sqoop
【数据采集与预处理】数据传输工具Sqoop
1761 0
|
人工智能 Cloud Native 数据处理
Flink Forward 品牌全面升级,上海及雅加达站双城启动
Flink Forward 品牌全面升级,全球将使用统一的会议品牌风格,Flink Forward Asia 官网也统一升级为 asia.flink-forward.org 域名。今年,Flink Forward Asia 会议将分别在上海(11月29-30日)和印尼雅加达(12月5日)举行。此外,Flink Forward 还将在德国柏林(10月21日-24日)举办,为全世界的开发者带来实时计算技术最前沿的动态和实践。
299 5
|
机器学习/深度学习 搜索推荐 TensorFlow
使用Python实现深度学习模型:用户行为预测与个性化服务
【7月更文挑战第23天】 使用Python实现深度学习模型:用户行为预测与个性化服务
498 3
|
数据采集 机器学习/深度学习 数据可视化
数据科学面试准备:解决Python数据分析常见问答和挑战
【4月更文挑战第12天】本文介绍了Python数据分析面试中常见的问题和挑战,涉及Pandas、NumPy、Matplotlib等库的基础知识,以及数据预处理、探索性分析、可视化、回归分析和分类分析的方法。例如,使用Pandas处理缺失值和异常值,利用Matplotlib和Seaborn进行数据可视化,通过Scikit-learn进行回归和分类模型的构建。
463 2
|
Ubuntu Linux 数据安全/隐私保护
Linux Ubuntu crontab 添加错误 提示:no crontab for root - using an empty one 888
Linux Ubuntu crontab 添加错误 提示:no crontab for root - using an empty one 888
517 3
|
算法 Apache 数据库
Sqoop的增量数据加载策略与示例
Sqoop的增量数据加载策略与示例
|
SQL HIVE
Hive 字符串截取前两位和截取后两位
Hive 字符串截取前两位和截取后两位
|
消息中间件 存储 缓存
Flink 1.14.0 全新的 Kafka Connector
Apache Kafka Connector# Flink 提供了一个 Apache Kafka 连接器,用于从 Kafka Topic 读取数据和向 Kafka Topic 写入数据,并保证恰好一次次语义。 Dependency# Apache Flink 附带了一个通用的 Kafka 连接器,它试图跟踪最新版本的 Kafka 客户端。它使用的客户端版本可能会在 Flink 版本之间发生变化
Flink 1.14.0 全新的 Kafka Connector
|
存储 缓存 负载均衡
Hbase的Rowkey设计以及如何进行预分区
今天有人问我Hbase的rowkey设计和预分区的问题,这篇文字就简单介绍一下.,关于Hbase的表的一些基本概念这里就不说了,直接说重点,尽可能说的简单一点,废话就不写了. 1.什么是Rowkey? 我们知道Hbase是一个分布式的、面向列的数据库,它和一般关系型数据库的最大区别是:HBase很适合于存储非结构化的数据,还有就是它基于列的而不是基于行的模式.
Hbase的Rowkey设计以及如何进行预分区