草庐IT

Hudi源码 | Insert源码分析总结(二)(WorkloadProfile)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:https://www.captainai.net/dongkelun前言接上篇文章:Hudi源码|Insert源码分析总结(一)(整体流程),继续进行ApacheHudiInsert源码分析总结,本文主要分析上文提到的WorkloadProfile版本Hudi0.9.0入口入口在上篇文章中讲到的BaseJavaCommitActionExecutor的executeWorkloadProfileprofile=null;if(isWorkloadProfileNeeded(

【Flink 实战系列】Flink CDC 实时同步 Mysql 全量加增量数据到 Hudi

【Flink实战系列】FlinkCDC实时同步Mysql全量加增量数据到Hudi前言FlinkCDC是基于Flink开发的变化数据获取组件(Changedatacapture),简单的说就是来捕获变更的数据,ApacheHudi是一个数据湖平台,又支持对数据做增删改查操作,所以FlinkCDC可以很好的和Hudi结合起来,打造实时数仓,实时湖仓一体的架构,下面就来演示一下同步的过程。环境组件版本Flink1.15.1Hadoop2.9.0Hudi0.12.0Mysql5.xFlinkCDC2.3.0添加Jar包依赖为了方便演示,这里就直接采用sql-client提交任务的方式,在提交任务之前,

Hudi Timeline简析

前言Longtimenosee(鞠躬最近终于开始尝试推广Hudi在部门内部的应用,作为流批一体计划的最后一块拼图,顺便复活许久未更的博客,希望今后至少能保持周更的节奏吧。在Hudi官方文档的开头列举了四大核心概念,分别是:TimelineFileLayoutTableTypesQueryTypes本文就来简要地谈谈Timeline。Timeline作用与结构官网关于Timeline的页面洋洋洒洒介绍了很多,但是少了笔者认为最关键的、本质的概念:Timeline就是Hudi的事务日志。读者可以回想一下MySQL中的Redo/UndoLog、Kudu中的Redo/UndoFile(可参见很久之前写

Hudi:数据湖技术引领大数据新风口

文章目录Hudi:数据湖技术引领大数据新风口1.1Hudi简介1.2发展历史1.3Hudi特性1.4使用场景下一章编译安装后记Hudi:数据湖技术引领大数据新风口1.1Hudi简介ApacheHudi(HadoopUpsertsDeleteandIncremental)是下一代流数据湖平台。ApacheHudi将核心仓库和数据库功能直接引入数据湖。Hudi提供了表、事务、高效的upserts/delete、高级索引、流摄取服务、数据集群/压缩优化和并发,同时保持数据的开源文件格式。ApacheHudi不仅非常适合于流工作负载,而且还允许创建高效的增量批处理管道。ApacheHudi可以轻松地在

Hudi的7种索引

1、BloomIndexBloomIndex(default)使用根据记录键构建的bloom过滤器,也可以使用记录键范围修剪候选文件.原理为计算RecordKey的hash值然后将其存储到bitmap中,为避免hash冲突一般选择计算3次HoodieKey主键信息:主要包含recordKey和patitionPath。recordkey是由hoodie.datasource.write.recordkey.field配置项根据列名从记录中获取的主键值。patitionPath是分区路径。Hudi会根据hoodie.datasource.write.partitionpath.field配置项的

字节基于 Hudi 的批流一体存储实践

一、背景与挑战首先来介绍一下相关背景。传统数仓存在实时和离线两条链路,来满足业务对于时效数据的时效性和数据量的不同需求。离线会维护历史的全量视图,实时会维护增量视图,最后在服务层去进行数据的汇总,从而支持后续的在线的serving、OLAP查询以及看板的应用等等。 因为处理场景的差异,在实时和离线数仓的具体实现上,依赖的底层存储计算引擎基本上是完全隔离的,实时依赖的主要是以Flink为代表的流式计算引擎来做计算,而离线依赖主要是以Spark为代表的引擎,实时主要依赖KV或MQ这样的多种存储选型。离线则常常采用Hive为代表的存储引擎,传统的数仓架构,它本质上结合了流计算和批计算的优势,通过两套

基于数据湖的流批一体:flink1.15.3与Hudi0.12.1集成,并配置基于CDH6.3.2的hive catalog

前言:为实现基于数据湖的流批一体,采用业内主流技术栈hudi、flink、CDH(hive、spark)。flink使用sqlclient与hive的catalog打通,可以与hive共享元数据,使用sqlclient可操作hive中的表,实现批流一体;flink与hudi集成可以实现数据实时入湖;hudi与hive集成可以实现湖仓一体,用flink实时入湖,用spark跑批处理。由于方案中中采用的CDH6.3.2是官方最后的开源版本,而flink与hudi是社区近期发布的开源版,网上几乎没有关于它们集成的资料,近期为完成它们集成费了不少神,特写出来分享给大家,有问题可一起交流。以下为实现hu

07_Hudi案例实战、Flink CDC 实时数据采集、Presto、FineBI 报表可视化等

7.第七章Hudi案例实战7.1案例架构7.2业务数据7.2.1客户信息表7.2.2客户意向表7.2.3客户线索表7.2.4线索申诉表7.2.5客户访问咨询记录表7.3FlinkCDC实时数据采集7.3.1开启MySQLbinlog7.3.2环境准备7.3.3实时采集数据7.3.3.1客户信息表7.3.3.2客户意向表7.3.3.3客户线索表7.3.3.4客户申诉表7.3.3.5客户访问咨询记录表7.4Presto即席分析7.4.1Presto是什么7.4.2Presto安装部署7.4.3Hive创建表7.4.3.1创建数据库7.4.3.2客户信息表7.4.3.3客户意向表7.4.3.4客户线

Hudi Flink SQL源码调试学习(一)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:https://www.captainai.net/dongkelun前言本着学习hudi-flink源码的目的,利用之前总结的文章HudiFlinkSQL代码示例及本地调试中的代码进行调试,记录调试学习过程中主要的步骤及对应源码片段。版本Flink1.15.4Hudi0.13.0目标在文章HudiFlinkSQL代码示例及本地调试中提到:我们发现TableAPI的入口和DataStreamAPI的入口差不多,DataStreamAPI的入口是在HoodiePipeline的sink和source

Hudi源码|bootstrap源码分析总结(写Hudi)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:https://www.captainai.net/dongkelun前言ApacheHudibootstrap源码简要走读,不了解Hudibootstrap的可以参考:利用HudiBootstrap转化现有Hive表的parquet/orc文件为Hudi表版本Hudi0.12.0Spark2.4.4入口valbootstrapDF=spark.emptyDataFramebootstrapDF.write.format("hudi").options(extraOpts).option(Data