通过apache seatunnel将mysql数据和hive同步
Posted 贾斯汀玛尔斯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过apache seatunnel将mysql数据和hive同步相关的知识,希望对你有一定的参考价值。
Flink集群部署安装
Standalone模式部署
Flink 安装部署需要准备 3 台 Linux 机器。具体要求如下:
系统环境为 CentOS 7.5 版本。
安装 Java 8(略)。
环境变量,(部署完成)
export JAVA_HOME=/bigdata/opt/jdk/jdk1.8.0_211
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
export SCALA_HOME=/bigdata/opt/s/scala/scala-2.12.17
export PATH=$SCALA_HOME/bin:$PATH
export HADOOP_CLASSPATH=`hadoop classpath`
export HADOOP_HOME=/usr/hdp/3.1.0.0-78/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
export SCALA_HOME=/bigdata/opt/s/scala/scala-2.12.17
export PATH=$SCALA_HOME/bin:$PATH
export FLINK_HOME=/bigdata/opt/f/flink/flink-1.13.6
export PATH=$FLINK_HOME/bin:$PATH
export HADOOP_CLASSPATH=`hadoop classpath`
export SPARK_HOME=/usr/hdp/3.1.0.0-78/spark2
export PATH=$SPARK_HO
Apache SeaTunnel 分布式数据集成平台
1. 简介当前版本:2.1.0
随着互联网流量爆发式增长,越来越多的公司业务需要支撑海量数据存储,对高并发、高可用、高可扩展性等特性提出了更高的要求,这促使各种类型的数据库快速发展,至今常见数据库已经达到 200 多个。与之相伴的便是,各种数据库之间的同步与转换需求激增,数据集成便成了大数据领域的一个亟需优秀解决方案的方向。当前市面上没有一个简单易用且支持每天数百亿条海量数据同步的开源软件,于是 SeaTunnel 应运而生。
SeaTunnel 是一个非常好用的、超高性能的、分布式数据集成平台,架构于 Apache Spark 和 Apache Flink 之上,实现海量数据的实时同步与转换。每天可以稳定高效的同步数百亿数据,目前已接近百家公司在生产上使用。
SeaTunnel 原名 Waterdrop,于 2017 年由乐视创建,并于同年在 GitHub 上开源,2021 年 10 月改名为 SeaTunnel。2021 年 12 月,SeaTunnel 正式通过世界顶级开源组织 Apache 软件基金会的投票决议,以全票通过的优秀表现正式成为 Apache 孵化器项目,成为 Apache 基金会中第一个诞生自中国的数据集成平台项目。
2. 目标SeaTunnel 尽所能为您解决海量数据同步中可能遇到的问题:
SeaTunnel 的使用场景广阔,包括如下场景:
数据集成平台要围绕解决海量数据同步这一目标进行,核心理念是保持海量数据能快速同步的同时还能保持数据的一致性,具体到 Apache SeaTunnel 来说,Apache SeaTunnel 具有以下核心特性:
Apache SeaTunnel 发展上有 2 个大版本,1.x 版本基于 Spark 构建,现在在打造的 2.x 既支持 Spark 又支持 Flink。在架构设计上,Apache SeaTunnel 参考了 Presto 的 SPI 化思想,有很好的插件化体系设计。
在技术选型时,Apache SeaTunnel 主要考虑技术成熟度和社区活跃性。Spark、Flink 都是非常优秀并且流行的大数据计算框架,所以 1.x 版本选了 Spark,2.x 版本将架构设计的更具扩展性,用户可以选择 Spark 或 Flink 集群来做 Apache SeaTunnel 的计算层,当然架构扩展性的考虑也是为以后支持更多引擎准备,说不定已经有某个更先进的计算引擎在路上,也说不定 Apache SeaTunnel 社区自己会实现一个为数据同步量身打造的引擎。
如下图是 Apache SeaTunnel 的整个工作流程,数据处理流水线由 Source、Sink 以及多个 Transform 构成,以满足多种数据处理需求:
Source[Data Source Input] -> Transform[Data Processing] -> Sink[Result Output]
如果用户习惯了 SQL,也可以直接使用 SQL 构建数据处理管道,更加简单高效。目前,SeaTunnel 支持的 Transform 列表也在扩展中。你也可以开发自己的数据处理插件。
Source 插件:
Transform 插件:
Sink 插件:
参考:
以上是关于通过apache seatunnel将mysql数据和hive同步的主要内容,如果未能解决你的问题,请参考以下文章
从ETL走向EtLT架构,下一代数据集成平台Apache SeaTunnel核心设计思路解析