探索在 Apache SeaTunnel 上使用 Hudi 连接器,高效管理大数据的技术

#定义运行环境env{#在此处设置flink配置execution.parallelism=2job.mode=quotBATCHquot}source{Hudi{table.path=quothdfsnameservicedatahudihuditablequottable.type=quotcowquotconf.files=quothometesthdfs-site.xmlhometestcore-site.xmlhometestyarn-site.xmlquotuse.kerberos=truekerberos.principal=quottestuser@xxxquotkerberos.principal.file=quothometesttestuser.keytabquot}}transform{#如果您希望了解更多关于配置SeaTunnel及其插件的信息,#请访问httpsseatunnel.apache.orgdocstransform-v2sql}sink{Console{}}通过使用ApacheHudi和其源连接器,企业可以实现更高效更灵活的大数据管理和分析,帮助

Apache Hudi 是一个数据湖处理框架,通过提供简单的方式来进行数据的插入、更新和删除操作,Hudi 能够帮助数据工程师和科学家更高效地处理大数据,并支持实时查询。

1714021712121dc4f84f93183001f872fb77cd2fac199

支持的处理引擎

Spark<br/> Flink<br/> SeaTunnel Zeta<br/>

主要特性

描述

Hudi Source 连接器专为从 Apache Hudi 管理的数据湖中读取数据而设计。目前,它支持 Hudi COW(Copy on Write)表和批处理模式下的快照查询。

为了使用此连接器,您必须确保您的 Spark/Flink 集群已集成 Hive。已测试的 Hive 版本为 2.3.9。

Apache Hudi 解决了数据湖在数据频繁变更时面临的数据管理问题,如数据同步延迟、复杂的数据管道维护和高成本的数据存储。通过使用 Hudi,组织能够简化数据的插入、更新和删除操作,同时支持近实时的数据查询和分析,极大提高了数据处理的灵活性和效率。

支持的数据源信息

Tip

  • 目前仅支持 Hudi COW 表和批处理模式下的快照查询

数据类型映射

Hudi 数据类型SeaTunnel 数据类型
所有类型STRING

源选项

名称类型是否必须默认值描述
table.pathString-Hudi 表的 HDFS 根路径,例如 'hdfs://nameservice/data/hudi/hudi_table/'。
table.typeString-Hudi 表的类型。目前我们仅支持 'cow','mor' 尚未支持。
conf.filesString-环境配置文件路径列表(本地路径),用于初始化 HDFS 客户端以读取 Hudi 表文件。示例为 '/home/test/hdfs-site.xml;/home/test/core-site.xml;/home/test/yarn-site.xml'。
use.kerberosboolfalse是否启用 Kerberos,默认为 false。
kerberos.principalString当 use.kerberos 为 true 时必须-使用 Kerberos 时,我们应设置 Kerberos 主体,例如 'test_user@xxx'。
kerberos.principal.filestring当 use.kerberos 为 true 时必须-使用 Kerberos 时,我们应设置 Kerberos 主体文件,例如 '/home/test/test_user.keytab'。
common-optionsconfig-源插件通用参数,详细信息请参阅源通用选项

任务示例

简单示例:

此示例从一个 Hudi COW 表读取数据,并为环境配置 Kerberos,输出到控制台。

# 定义运行环境env {  # 在此处设置flink配置  execution.parallelism = 2  job.mode = "BATCH"}source{  Hudi {    table.path = "hdfs://nameservice/data/hudi/hudi_table/"    table.type = "cow"    conf.files = "/home/test/hdfs-site.xml;/home/test/core-site.xml;/home/test/yarn-site.xml"    use.kerberos = true    kerberos.principal = "test_user@xxx"    kerberos.principal.file = "/home/test/test_user.keytab"  }}transform {    # 如果您希望了解更多关于配置SeaTunnel及其插件的信息,    # 请访问 https://seatunnel.apache.org/docs/transform-v2/sql/}sink {    Console {}}

通过使用 Apache Hudi 和其源连接器,企业可以实现更高效、更灵活的大数据管理和分析,帮助开发者解决在数据湖环境下常见的数据同步与查询挑战。