保健励志美文体育育儿作文
投稿投诉
作文动态
热点娱乐
育儿情感
教程科技
体育养生
教案探索
美文旅游
财经日志
励志范文
论文时尚
保健游戏
护肤业界

数据湖三剑客HudiDeltaLake和Iceberg深度对

  一个热爱生活又放荡不羁的程序猿
  本文主要讲解如下内容:
  一、数据湖的优点
  二、目前有哪些开源数据湖组件
  三、三大数据湖组件对比1、数据湖的优点
  数据湖相比传统数仓而言,最明显的便是优秀的T0能力,这个解决了Hadoop时代数据分析的顽疾。传统的数据处理流程从数据入库到数据处理通常需要一个较长的环节、涉及许多复杂的逻辑来保证数据的一致性,由于架构的复杂性使得整个流水线具有明显的延迟。2、目前有哪些开源数据湖组件
  目前开源的数据湖有江湖人称数据湖三剑客的Hudi、DeltaLake和IcebergIceberg
  Iceberg官网定义:Iceberg是一个通用的表格式(数据组织格式),提供高性能的读写和元数据管理功能。
  Iceberg的ACID能力可以简化整个流水线的设计,传统HiveSpark在修正数据时需要将数据读取出来,修改后再写入,有极大的修正成本。
  〔玫瑰〕ACID能力,无缝贴合流批一体数据存储
  随着flink等技术的不断发展,流批一体生态不断完善,但在流批一体数据存储方面一直是个空白,直到Iceberg等数据湖技术的出现,这片空白被慢慢填补。
  Iceberg提供ACID事务能力,上游数据写入即可见,不影响当前数据处理任务,这大大简化了ETL;
  Iceberg提供了upsert、mergeinto能力,可以极大地缩小数据入库延迟;
  〔玫瑰〕统一数据存储,无缝衔接计算引擎和数据存储
  Iceberg提供了基于流式的增量计算模型和基于批处理的全量表计算模型。批处理和流任务可以使用相同的存储模型,数据不再孤立;
  Iceberg支持隐藏分区和分区进化,方便业务进行数据分区策略更新。
  Iceberg屏蔽了底层数据存储格式的差异,提供对于Parquet,ORC和Avro格式的支持。将上层引擎的能力传导到下层的存储格式。
  〔玫瑰〕开放架构设计,开发维护成本相对可控
  Iceberg的架构和实现并未绑定于某一特定引擎,它实现了通用的数据组织格式,利用此格式可以方便地与不同引擎对接,目前Iceberg支持的计算引擎有Spark、Flink、Presto以及Hive。
  相比于Hudi、DeltaLake,Iceberg的架构实现更为优雅,同时对于数据格式、类型系统有完备的定义和可进化的设计;
  面向对象存储的优化。Iceberg在数据组织方式上充分考虑了对象存储的特性,避免耗时的listing和rename操作,使其在基于对象存储的数据湖架构适配上更有优势。
  〔玫瑰〕增量数据读取,实时计算的一把利剑
  Iceberg支持通过流式方式读取增量数据,支持StructedStreaming以及FlinktableSource。Hudi
  ApacheHudi是一种数据湖的存储格式,在Hadoop文件系统之上提供了更新数据和删除数据的能力以及消费变化数据的能力。
  Hudi支持如下两种表类型:CopyOnWrite
  使用Parquet格式存储数据。CopyOnWrite表的更新操作需要通过重写实现。MergeOnRead
  使用列式文件格式(Parquet)和行式文件格式(Avro)混合的方式来存储数据。MergeOnRead使用列式格式存放Base数据,同时使用行式格式存放增量数据。最新写入的增量数据存放至行式文件中,根据可配置的策略执行COMPACTION操作合并增量数据至列式文件中。
  应用场景近实时数据消费
  Hudi支持插入、更新和删除数据。可以实时消费消息队列(Kafka)和日志服务SLS等日志数据至Hudi中,同时也支持实时同步数据库Binlog产生的变更数据。
  Hudi优化了数据写入过程中产生的小文件。因此,相比其他传统的文件格式,Hudi对HDFS文件系统更加的友好。近实时数据分析
  Hudi支持多种数据分析引擎,包括Hive、Spark、Presto和Impala。Hudi作为一种文件格式,不需要依赖额外的服务进程,在使用上也更加的轻量化。增量数据处理
  Hudi支持IncrementalQuery查询类型,可以通过SparkStreaming查询给定COMMIT后发生变更的数据。Hudi提供了一种消费HDFS变化数据的能力,可以用来优化现有的系统架构。DeltaLake
  DeltaLake是Spark计算框架和存储系统之间带有Schema信息数据的存储中间层。它给Spark带来了三个最主要的功能:
  第一,DeltaLake使得Spark能支持数据更新和删除功能;
  第二,DeltaLake使得Spark能支持事务;
  第三,支持数据版本管理,运行用户查询历史数据快照。
  核心特性ACID事务:为数据湖提供ACID事务,确保在多个数据管道并发读写数据时,数据能保持完整性。数据版本管理和时间旅行:提供了数据快照,使开发人员能够访问和还原早期版本的数据以进行审核、回滚或重现实验可伸缩的元数据管理:存储表或者文件的元数据信息,并且把元数据也作为数据处理,元数据与数据的对应关系存放在事务日志中;流和批统一处理:Delta中的表既有批量的,也有流式和sink的;数据操作审计:事务日志记录对数据所做的每个更改的详细信息,提供对更改的完整审计跟踪;Schema管理功能:提供自动验证写入数据的Schema与表的Schema是否兼容的能力,并提供显示增加列和自动更新Schema的能力;数据表操作(类似于传统数据库的SQL):合并、更新和删除等,提供完全兼容Spark的JavascalaAPI;统一格式:Delta中所有的数据和元数据都存储为ApacheParquet。三、三大数据湖组件对比各组件起源故事
  Deltalake
  由于ApacheSpark在商业化上取得巨成功,所以由其背后商业公司Databricks推出的Deltalake也显得格外亮眼。在没有delta数据湖之前,Databricks的客户般会采经典的lambda架构来构建他们的流批处理场景。
  Hudi
  ApacheHudi是由Uber的程师为满其内部数据分析的需求设计的数据湖项,它提供的fastupsertdelete以及compaction等功能可以说是精准命中民群众的痛点,加上项各成员积极地社区建设,包括技术细节分享、国内社区推等等,也在逐步地吸引潜在户的光。
  Iceberg
  Netflix的数据湖原先是借助Hive来构建,但发现Hive在设计上的诸多缺陷之后,开始转为研Iceberg,并最终演化成Apache下个度抽象通的开源数据湖案。共同点
  三者均为DataLake的数据存储中间层,其数据管理的功能均是基于系列的meta件。Meta件的类似于数据库的catalog,起到schema管理、事务管理和数据管理的功能。与数据库不同的是,这些meta件是与数据件起存放在存储引擎中的,户可以直接看到。这个做法直接继承了数据分析中数据对户可见的传统,但是形中也增加了数据被不破坏的风险。旦删了meta录,表就被破坏了,恢复难度很。
  Meta包含有表的schema信息。因此系统可以掌握schema的变动,提供schema演化的持。Meta件也有transactionlog的功能(需要件系统有原性和致性的持)。所有对表的变更都会成份新的meta件,于是系统就有了ACID和多版本的持,同时可以提供访问历史的功能。在这些,三者是相同的。Hudi优点
  Hudi的设计标正如其名,HadoopUpsertsDeletesandIncrementals(原为HadoopUpsertsanDIncrementals),强调了其主要持Upserts、Deletes和Incremental数据处理,其主要提供的写具是SparkHudiDataSourceAPI和提供的HoodieDeltaStreamer,均持三种数据写式:UPSERT,INSERT和BULKINSERT。其对Delete的持也是通过写时指定定的选项持的,并不持纯粹的delete接。
  在查询,Hudi持Hive、Spark、Presto。
  在性能,Hudi设计了HoodieKey,个类似于主键的东西。对于查询性能,般需求是根据查询谓词成过滤条件下推datasource。Hudi这没怎么做作,其性能完全基于引擎带的谓词下推和partitionprune功能。
  Hudi的另特是持CopyOnWrite和MergeOnRead。前者在写时做数据的merge,写性能略差,但是读性能更些。后者读的时候做merge,读性能差,但是写数据会较及时,因后者可以提供近实时的数据分析能。最后,Hudi提供了个名为runsynctool的脚本同步数据的schema到Hive表。Hudi还提供了个命令具于管理Hudi表。Iceberg优点
  Iceberg没有类似的HoodieKey设计,其不强调主键。没有主键,做updatedeletemerge等操作就要通过Join来实现,Join需要有个类似SQL的执引擎。
  Iceberg在查询性能做了量的作。值得提的是它的hiddenpartition功能。Hiddenpartition意思是说,对于户输的数据,户可以选取其中某些列做适当的变换(Transform)形成个新的列作为partition列。这个partition列仅仅为了将数据进分区,并不直接体现在表的schema中。Delta优点
  Delta的定位是流批体的,持updatedeletemerge,spark的所有数据写式,包括基于dataframe的批式、流式,以及SQL的Insert、InsertOverwrite等都是持的。
  不强调主键,因此其updatedeletemerge的实现均是基于spark的join功能。在数据写,Delta与Spark是强绑定的,这点Hudi是不同的:Hudi的数据写不绑定Spark。
  在查询,Delta前持Spark与Presto,但是,Spark是不可或缺的,因为deltalog的处理需要到Spark。这意味着如果要Presto查询Delta,查询时还要跑个Spark作业。更为难受的是,Presto查询是基于SymlinkTextInputFormat。在查询之前,要运Spark作业成这么个Symlink件。如果表数据是实时更新的,意味着每次在查询之前先要跑个SparkSQL,再跑Presto。为此,EMR在这做了改进可以不必事先启动个Spark任务。
  在查询性能,开源的Delta乎没有任何优化。
  Delta在数据merge性能不如Hudi,在查询性能不如Iceberg,是不是意味着Delta是处了呢?其实不然。Delta的优点就是与Spark的整合能,尤其是其流批体的设计,配合multihop的datapipeline,可以持分析、Machinelearning、CDC等多种场景。使灵活、场景持完善是它相Hudi和Iceberg的最优点。另外,Delta号称是Lambda架构、Kappa架构的改进版,需关流批,需关架构。这点上Hudi和Iceberg是所不及的。总结
  三个引擎的初衷场景并不完全相同,Hudi为了incremental的upserts,Iceberg定位于性能的分析与可靠的数据管理,Delta定位于流批体的数据处理。这种场景的不同也造成了三者在设计上的差别。尤其是Hudi,其设计与另外两个相差别更为明显。
  Delta、Hudi、Iceberg三个开源项中,Delta和Hudi跟Spark的代码深度绑定,尤其是写路径。这两个项设计之初,都基本上把Spark作为他们的默认计算引擎了。ApacheIceberg的向常坚定,宗旨就是要做个通化设计的TableFormat。
  Iceberg完美的解耦了计算引擎和底下的存储系统,便于多样化计算引擎和件格式,很好的完成了数据湖架构中的TableFormat这层的实现,因此也更容易成为TableFormat层的开源事实标准。另,ApacheIceberg也在朝着流批体的数据存储层发展,manifest和snapshot的设计,有效地隔离不同transaction的变更,常便批处理和增量计算。并且,ApacheFlink已经是个流批体的计算引擎,者都可以完美匹配,合打造流批体的数据湖架构。
  ApacheIceberg这个项背后的社区资源常丰富。在国外,Netflix、Apple、Linkedin、Adobe等公司都有PB级别的产数据运在ApacheIceberg上;在国内,腾讯这样的巨头也有常庞的数据跑在ApacheIceberg之上,最的业务每天有T的增量数据写。

美的瞬间600字初中作文这是一个阳光很灿烂的中午,我很喜欢阳光洒在脸上惬意的感觉,就像现在这样。骑车来到十字路口,红灯亮了。无意中仰起脸,发现了路旁那棵略显苍老的大树。它的树干很粗很粗,仿佛是它……压岁钱的初中作文噼里啪啦随着一声鞭炮的声响,新的一年到了,穿上漂亮的新衣服,吃着各种美味佳肴,老老少少欢聚在一起喜庆新年。新的一年一切都那么让人兴奋,但如果说什么最前懂孩子的心,那毋庸置疑一定……五年级关于春节的日记春节是所有中国人都十分重视的日子。下面小编带来的是五年级关于春节的日记,希望对你有帮助。五年级关于春节的日记1噼里啪啦随着窗外的鞭炮响起,这个不眠之夜开始了。巨大的……Hi!同桌六年级作文Hi!同桌!那个朝夕相处的同桌!现在不再是同桌的朋友小门;虽然我们同桌已经成为历史,但我还是想用手中的笔,打开记忆的闸门,说说曾经我们之间的那些事儿。题记Hi,同桌……物质是由基本粒子构成的吗?这里的基本该如何理解?现代物理学认为,基本粒子是组成物质的最小单位。这样的粒子有几十种。然而,物质真的是由这些基本粒子构成的吗?首先,要看如何定义物质。现在认为宇宙中除了物质,还有暗物质和暗能……2020快乐的春游小学生作文三篇春天常常带给人一种心旷神怡的感觉,就在这个充满生机的季节我们度过了一个快乐的春游,大家都十分留恋这美好的春游。下面是小编为大家带来的2020快乐的春游小学生作文,欢迎阅读!20……学会团结合作一个人只有学会与他人团结合作,才能取得更大的成就;一个团体只有学会了团结合作,才能战无不胜;一群狼群学会了团结合作,再打到猎物也能轻而易举的捕获。是啊,只有真正学会了团结合作,……每天一道Java面试题什么是CAS?鉴于本人对知识理解的深度有限,且尚需更多地学习,如有错误和不足欢迎指正批评。概念CAS(compareAndSwap)是一条并发原语。在Java中的体现就是Unsafe下……真情永在六年级作文真情这个词,仿佛在部分人的脑子里渐渐淡忘,模糊不清,甚至有的人还做出不屑一顾的样子,嘴里还嘟囔着:这世上哪有真情呀?孩子不孝,商品不真,股票大跌,把人都活活气死了!可是,仅管如……七年级暑假日记300字6篇篇一:暑假日记7月8日晴星期三这周是暑假的第一周,一开始,我还没有从紧张的期末考试中回过神来,不用早起去学校了反而觉得浑身不舒服,整天无精打采的。爸爸妈妈又要去上班……多彩的课堂记叙文课堂如天上的繁星多姿多彩,这都会是我童年最美好的记忆。无聊的课堂简直一提英语课就让人不禁地打一下哈欠,让人自觉地闭上眼睛。一阵懒散的铃声传来,冰块脸老师手夹着一本厚……余承东踏入杨元庆腹地,联想如何应对?华为必胜狼来了,这回真的是狼来了。联想靠着国内的市场,闷声发大财。杨延庆作为联想的总裁,不思进取,围着国内市场团团转。赚了几个国内关系户的钱,就高兴的不得了。如今华为由于……
我留恋的端午节作文【第1篇:我留恋的端午节】今天是五月初五mdash;mdash;端午节,也就是人们常说的重五。我问爷爷:ldquo;端午节是怎么来的?rdquo;爷爷说:ldquo;端午……工信部培育一批进军元宇宙等新兴领域的创新型中小企业【工信部:培育一批进军元宇宙等新兴领域的创新型中小企业】财联社1月24日电,工业和信息化部中小企业局局长梁志峰今日在发布会上表示,抢抓国家推进新基建、大力发展数字经济的大好机遇……写清明节作文300字清明节又叫踏青节,在仲春与暮春之交,也就是冬至后的第108天。是中国传统节日,也是最重要的祭祀节日之一,是祭祖和扫墓的日子。中华民族传统的清明节大约始于周代,距今已有二千五百多……数字经济也要有科学理念数字经济发展必须完整、准确、全面地认识和贯彻落实,才能更好地把握时代机遇,树立良好的时代丰碑。发展需要学。俗话说,科技是第一生产力。科技能有效地改善地域和时间的限制。一起……春节红包花样撒钱互联网平台狂发80亿元本报记者李冰见习记者张博今年,多家互联网平台于日前公布了今年春节红包的打法。例如,京东宣布拿下2022年春节联欢晚会独家互动合作项目,并在晚会直播期间送出15亿元红包和好……从我的全世界路过优秀作文现如今20XX年了,不知她可否好。你知道吗?当一个人思念另一个人时,那么一到梦境就会有她的身影。而我或许很思念她吧。我真的不是一个善于交朋友,善于开玩笑,善于说话的人。只……工作总结开头优美的句子导语:总结与计划是相辅相成的,要以工作计划为依据,订计划总是在总结经验的基础上进行的。接下来是小编分享的工作总结开头优美的句子,文章希望大家喜欢!一、医生的天职就是治病,……努比亚新音C1真无线耳机开售优惠价格138元1月15日努比亚发布了新音C1真无线耳机,今日这款耳机已经正式开售,该耳机采用蓝牙5。3加强版,内置13mm大动圈复合振膜,综合续航超过40小时,原售价158元,首销上线优惠价……我家的小兔子的作文有一天,我在家里画画的时候,舅妈就送了我一只可爱的兔宝贝。当时我就决定要跟它做好朋友,因为它好可爱喔!它在我睡觉的时候,都会陪伴在我的身边,所以它是我最喜欢的宝贝。这个兔……自私的小猪小学生作文400字从前,森林里住着许多动物,其中有一只小猪,叫呼呼,它非常自私,还喜欢欺负别人。有一天,呼呼看到小兔在搭积木,它笑着过去说:小兔妹妹,我来帮你搭吧。说完便拿起一块积木便搭了……关于新型冠状病毒肺炎的作文白衣天使当我们在享受舒适的春节假期时,他们却放弃与亲人的团聚,毅然返回岗位;当我们恐避之而不及时,他们却义无反顾选择逆行,紧急驰援武汉;当我们为日益増长的病例忧心时,他们却迎难而上与病……小猪大文化五年级作文俗话说:没吃过猪肉,还没见过猪跑吗?可是,不是每个人都见过这群养在宜兴兴旺农业文化园里的猪哦!你别笑,这里的猪不是吹的!个个都身怀绝技,绝对膘悍!猪文化展馆,顾名思义,是……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网