Hudi学习笔记(一)

大数据发展背景
  • Hudi用于管理分布式文件系统上大型分析数据集存储,支持Spark和Flink整合。它能够是DFS数据集在分钟级时延内支持变更,也支持下游系统对这个数据集的增量处理。
学习目标
  • 什么是数据湖
  • 为什么使用数据湖
  • Hudi基本功能
  • 如何编译Hudi源码
  • Hudi与Spark集成管理
  • Hudi中COW和ROW不同类型表功能
  • Hudi的三种查询方式
  • Hudi中不同表数据写入流程
数据仓库

数据仓库是一个用于存储、分析、报告的数据系统。目的是构建面向分析的集成化数据环境,分析结果为企业提供决策支持。

  • 数据仓库本身不生产数据,也不消费数据
  • 企业根据业务需求分成不同层次,数据层(ODS)\仓库层(DW)\应用层(DA)
数据湖
  • 数据湖是一个集中式的数据存储库,用于存储大量的原始数据。
  • 原始格式存储数据的系统或存储库,可以包括结构化数据、半结构化数据、非结构化数据和二进制数据。
  • 查询应用数据的时候才会开始分析数据需求和应用架构,用于报告、可视化、高级分析和机器学习等任务。

数据仓库是优化的数据库,用于分析业务的关系数据。数据湖数据来自关系数据和非关系数据。

特性数据仓库数据湖
数据分析业务的关系数据关系数据和非关系数据
Schame在写入数据仓库读取schema
性价比更快查询较高存储成本(空间代替时间,冗余存储)更快查询只需较低成本
数据质量便于管理难以监控
用户业务分析师数据科学家、数据开发人员和业务分析师
分析批处理、BI机器学习、预测分析、数据发现
数据湖框架
  • delta Lake
    支持update/delete/merge
  • Iceberg
  • Hudi(Hadoop upsert and incrementals)
    fast upsert/delete/compaction功能,管理存储在Hdfs上的数据。支持快速upsert/delete。
Hudi功能
  • Hudi是在大数据存储上的一个数据集,可以将Change Logs通过upsert的方式合并进hudi。
  • 可以暴露成普通的Hive或Spark表,通过API或命令行可以获取增量修改的信息,供下游消费。
  • Hudi保管修改历史,可以时间旅行或回退。
  • 内部有主键到文件级的索引,默认是记录到文件的布隆过滤器。
  • 提供了两种方式的原语言:
    -Update/delete记录:使用细粒度的文件/记录级别索引支持update/delete记录,同时保证写操作的事务保证,查询会处理最后一个提交的快照,并基于此输出结果。
    -变更流:Hudi对过去数据变更提供了一流的支持:可以从给定时间点获取给定表中update/insert/deleted的所有记录的增量流,并解锁新的查询姿势。
Hudi基础架构
  • 将数据摄取到数据湖存储,使用HDFS作为数据湖的数据存储。
  • 基于HDFS构建Hudi的数据湖。
  • Hudi提供统一的访问Spark和Flink数据源
  • 外部通过不同引擎访问接口。
    Hudi架构
Hudi版本
  • Hudi 0.5版本
    支持Spark,将数据批量和流式写入

  • Hudi 0.6版本
    逐渐添加新特性和功能

  • Hudi 0.7.0版本
    Flink计算引擎成熟,Flink1.12

  • Hudi 0.8
    支持Flink SQL client操作Hudi数据

  • Hudi 0.9
    重构与Flink的集成,支持CDC的能力,数据流式入湖。流式查询Hudi数据。

  • Hudi 0.10
    支持更多的数据源:如Mysql和Kafka

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/428019.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NAT地址转换协议

目录 NAT应用场景静态NAT动态NATNAPTEasy IPNAT服务器 点击跳转NAT配置(动态nat,静态nat,Easy IP) NAT应用场景 - 随着网络设备的数量不断增长,对IPv4地址的需求也不断增加,导致可用IPv4地址空间逐渐耗尽…

Mysql全局优化

Mysql全局优化总结 从上图可以看出SQL及索引的优化效果是最好的,而且成本最低,所以工作中我们要在这块花更多时间。 补充一点配置文件my.ini或my.cnf的全局参数: 假设服务器配置为: CPU:32核内存:64GDIS…

利用git上传本地文件

1、建立仓库 2.然后刷新网站,获取下载链接,备用。 3、接下来在本地创建一个文件夹, 4、把github上面的仓库克隆到本地 git clone https://github.com/xxxxx(https://github.com/xxxxx替换成你之前复制的地址) 5、把…

树莓派基础应用:智能家居监控系统

引言: 随着智能家居的普及,家居安全与监控逐渐成为人们关注的焦点。树莓派作为一种功能强大的迷你计算机,为我们提供了实现智能家居监控系统的可能。在本篇博客中,我们将通过构建一个简单的智能家居监控系统,来探索树莓…

uniapp组件库Modal 模态框 的使用方法

目录 #平台差异说明 #基本使用 #传入富文本内容 #异步关闭 #点击遮罩关闭 #控制模态框宽度 #自定义样式 #缩放效果 #API #Props #Event #Method #Slots 弹出模态框,常用于消息提示、消息确认、在当前页面内完成特定的交互操作。 #平台差异说明 AppH5微…

redis的数据类型

Redis 提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合&…

IT6510FN IT6510FN/HW 转换器芯片 QFN封装

描述: IT6510是一款高性能的单芯片显示端口到MIPI-CSI/DSI转换器。结合DisplayPort接收器、MIPI发射器,IT6510支持DisplayPort输入和MIPI- csi /DSI输出转换功能。 内置的DisplayPort接收器完全兼容DisplayPort 1.2a和HDCP 1.3/2.3规格。通过4通道HBR2…

ERP读书笔记20240125-1

ERP(Enterprise Resource Planning,企业资源计划)的发展经历了从 MRP(Material Requirements Planning,物料需求计划)到 MRP2(Manufacturing Resources Planning,制造资源计划&#…

linux安装docker--更具官网教程

1.访问https://docs.docker.com/ 2.进入download 3输入cento 或者直接访问地址Install Docker Engine on CentOS | Docker Docs 4一步一步根据官网命令走 2安装 3 4 方式一: service docker start(开启) service docker status&#xff08…

3d导模型赋予材质方法---模大狮模型网

给3D模型赋予材质的方法可以根据您使用的软件和工作流程而有所不同。以下是一般的步骤,您可以根据自己的情况进行调整: 准备模型:首先,确保您的模型已经完全建模并进行了UV映射。UV映射是将2D纹理坐标应用到3D模型表面的过程&…

622.设计循环队列(附带源码)

目录 一、题目 ​编辑二、思路 第一种实现方式:数组 1、rear初始化为-1: 2、rear初始化为0: 第二种实现方式:链表 三、源码 一、题目 622. 设计循环队列 - 力扣(LeetCode) 二、思路 循环队列&…

记录centos安装nginx过程和问题

今天在centos上安装了nginx,遇到了些问题,记录一下。 使用yum直接安装的话安装的版本是1.20.1,使用源码包安装可以装到1.25.0(最新稳定版)。很有意思的一点是两种安装方法下安装的路径是不同的,且源码安装…