摘要:目前Hudi只支持FlinkSQL进行数据读写,但是在实际项目开发中一些客户存在使用FlinkDataStreamAPI读写Hudi的诉求。本文分享自华为云社区《FusionInsightMRSFlinkDataStreamAPI读写Hudi实践》,作者:yangxiao_mrs。目前Hudi只支持FlinkSQL进行数据读写,但是在实际项目开发中一些客户存在使用FlinkDataStreamAPI读写Hudi的诉求。该实践包含三部分内容:1)HoodiePipeline.java,该类将Hudi内核读写接口进行封装,提供HudiDataStreamAPI。2)WriteIntoHudi
目录一、DataStreamAPI概述二、什么是DataStream?三、DataStream数据处理过程1)DataSources(数据源)1、DataSources原理2、DataSources实现方式1)基于文件2)基于套接字3)基于集合4)自定义2)DataStreamTransformations(数据流转换//处理/算子)1、数据流转换2、物理分区3、算子链和资源组3)DataSinks(数据输出)旁路输出(分流)2)Flink程序剖析(scala)1、获取一个执行环境(executionenvironment)2、加载/创建初始数据3、指定数据相关的转换4、指定计算结果的存储位置
目录一、DataStreamAPI概述二、什么是DataStream?三、DataStream数据处理过程1)DataSources(数据源)1、DataSources原理2、DataSources实现方式1)基于文件2)基于套接字3)基于集合4)自定义2)DataStreamTransformations(数据流转换//处理/算子)1、数据流转换2、物理分区3、算子链和资源组3)DataSinks(数据输出)旁路输出(分流)2)Flink程序剖析(scala)1、获取一个执行环境(executionenvironment)2、加载/创建初始数据3、指定数据相关的转换4、指定计算结果的存储位置
动机Flink提供了三种主要的sdk/API来编写程序:TableAPI/SQL、DataStreamAPI和DataSetAPI。我们认为这个API太多了,建议弃用DataSetAPI,而使用TableAPI/SQL和DataStreamAPI。当然,这说起来容易做起来难,所以在下面,我们将概述为什么我们认为太多的api对项目和社区有害。然后,我们将描述如何增强TableAPI/SQL和DataStreamAPI以包含DataSetAPI的功能。在本FLIP中,我们将不描述如何增强TableAPI/SQL和DataStream的所有技术细节。目标是在弃用DataSetAPI的想法上达成共识。
动机Flink提供了三种主要的sdk/API来编写程序:TableAPI/SQL、DataStreamAPI和DataSetAPI。我们认为这个API太多了,建议弃用DataSetAPI,而使用TableAPI/SQL和DataStreamAPI。当然,这说起来容易做起来难,所以在下面,我们将概述为什么我们认为太多的api对项目和社区有害。然后,我们将描述如何增强TableAPI/SQL和DataStreamAPI以包含DataSetAPI的功能。在本FLIP中,我们将不描述如何增强TableAPI/SQL和DataStream的所有技术细节。目标是在弃用DataSetAPI的想法上达成共识。