前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KIP-5:Apache Kylin深度集成Hudi

KIP-5:Apache Kylin深度集成Hudi

作者头像
ApacheHudi
发布2021-05-24 14:53:03
4830
发布2021-05-24 14:53:03
举报
文章被收录于专栏:ApacheHudiApacheHudi

•Q1. What are you trying to do? Articulate your objectives using absolutely no jargon.•Q2. What problem is this proposal NOT designed to solve?•Q3. How is it done today, and what are the limits of current practice?•Q4. What is new in your approach and why do you think it will be successful?•Q5. Who cares? If you are successful, what difference will it make?•Q6. What are the risks?•Q7. How long will it take?•Q8. How does it work?•For Hudi source integration:•For Hudi cuboid storage(TBD):•For cube rebuild with new Hudi source type(TBD):•For cube merge with new Hudi cuboid storage type(TBD):

Q1. What are you trying to do? Articulate your objectives using absolutely no jargon.

•对于Hudi数据湖源端集成•将企业数据湖中以Hudi格式存储的数据集作为Kylin的源端输入•对于Kylin cube重新构建&合并优化•支持Kylin的Cuboid使用Hudi格式存储•使用Hudi的增量查询视图加速和优化Kylin cube重新构建过程,仅解析上次cube构建后变更的数据•使用Hudi的Compaction功能加速和优化Kylin Cube合并过程(针对增量cuboid文件),或者使用Hudi的Upsert功能来合并多个cuboid文件,类似Upsert到MOR表,并支持Select查询

Q2. What problem is this proposal NOT designed to solve?

不支持Hudi的其他类型的数据源(例如Kafka)不在此范围内流式CubeEnginer不在此范围内

Q3. How is it done today, and what are the limits of current practice?

当前无论输入格式是否为Hudi,Kylin都使用Beeline JDBC机制直接连接到Hive源当前的实现无法利用Hudi的原生和高级功能(例如增量查询、读优化视图查询等),Kylin可以从较小的增量cuboid合并和更快的源数据提取中受益

Q4. What is new in your approach and why do you think it will be successful?

对于Hudi Source集成

新的方法使用Hudi的原生优化视图查询和MOR表来加速Kylin的cube构建过程为什么会成功Hudi已在大数据领取和技术栈中发布并成熟,许多公司已经在Data Lake/Raw/Curated数据层中使用了HudiHudi lib已经与Spark DF/Spark SQL集成,可以使用Kylin的Spark Engine查询Hudi数据源Hudi的Parquet基础文件和Avro日志以及索引元数据等都可以通过Hive的外部表和输入格式定义进行连接,Kylin可以利用它们进行提取

Hudi作为Cuboid存储

•新的方法•使用Hudi的原生增量视图查询优化Kylin的cube重建过程,以仅捕获变更的数据并仅重新计算和更新必要的cuboid文件•使用Hudi的upsert功能来操作cuboid文件,以优化Kylin的cube合并过程;而不是以前的join和shuffle方式•为什么会成功•Hudi根据记录的PK支持upsert,每个cuboid的维度key-id都可以视为PK•这样当进行重建和合并操作时,它可以直接更新以前的cuboid文件,或基于PK合并多个cuboid文件并将它们压缩为Parquet文件

Q5. Who cares? If you are successful, what difference will it make?

如果在Kylin中启用了新的集成功能,从事数据挖掘/探索/报告等工作的数据科学家将有更快的cube集构建时间正在开发DW/DM层数据建模的数据工程师将最大程度地减少cube上的单元测试/性能测试的实现和交付工作

Q6. What are the risks?

没有其他风险,因为它只是配置Hudi源类型的替代选择,其他Kylin的组件和管道也不会受到影响

Q7. How long will it take?

N/A

Q8. How does it work?

总体架构设计的逻辑图如下:

对于Hudi源集成在kylin.property中为Hudi源类型添加新的配置项(例如:isHudiSouce = true,HudiType = MOR)使用Hudi原生客户端API添加新的ISouce接口和实现在配置单元外部表中使用Hudi客户端API查询优化视图及提取源Hudi数据集•对于Hudi cuboid存储•在kylin.property中为cuboid的Hudi存储类型添加新的配置项(例如isHudiCuboidStorage = true)•使用Hudi编写API添加新的ITarget接口和实现,以实现内部存储和cuboid文件的操作•对于使用新的Hudi源类型cube重建•使用Hudi的增量查询API仅从Cube段的时间戳的最后时间提取变更的数据•使用Hudi的upsert API合并cuboid的变更数据和以前的历史数据•对于新的Hudi Cuboid存储类型cube合并•使用Hudi upsert API合并2个cuboid文件

Reference

Hudi framework: https://hudi.apache.org/docs/

hive/spark integration support for Hudi: https://hudi.apache.org/docs/querying_data.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ApacheHudi 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Q1. What are you trying to do? Articulate your objectives using absolutely no jargon.
  • Q2. What problem is this proposal NOT designed to solve?
  • Q3. How is it done today, and what are the limits of current practice?
  • Q4. What is new in your approach and why do you think it will be successful?
  • Q5. Who cares? If you are successful, what difference will it make?
  • Q6. What are the risks?
  • Q7. How long will it take?
  • Q8. How does it work?
  • Reference
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档