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.mzph.cn/news/645347.shtml

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

相关文章

vue 解决:Module not found: Error: Can‘t resolve ‘vue-router‘ 的问题

1、问题描述: 其一、报错为: Module not found: Error: Cant resolve vue-router 中文为: 找不到模块:错误:无法解析“vue-router” 其二、问题描述为: 根据报错的中文信息可知:应该是无法…

【linux】远程桌面连接到Debian

远程桌面连接到Debian系统,可以使用以下几种工具: 1. VNC (Virtual Network Computing) VNC(Virtual Network Computing)是一种流行的远程桌面解决方案,它使用RFB(Remote Framebuffer Protocol&#xff0…

spring中循环依赖问题、Servlet 的过滤器与 Spring 拦截器区别

spring中的循环依赖问题 当A类中关联B,B类中关联A class A {B b; } class B {A a; } 正常java代码中new A时,b为null;new B时,a为null; 但是在spring中,由于对象是由spring容器管理的,当创建…

【开源】基于JAVA语言的新能源电池回收系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户档案模块2.2 电池品类模块2.3 回收机构模块2.4 电池订单模块2.5 客服咨询模块 三、系统设计3.1 用例设计3.2 业务流程设计3.3 E-R 图设计 四、系统展示五、核心代码5.1 增改电池类型5.2 查询电池品类5.3 查询电池回…

35、WEB攻防——通用漏洞XSS跨站反射存储DOM盲打劫持

文章目录 XSS产生于前端的漏洞,常产生于: XSS分类: 反射型(非持久型) 存储型(持久型),攻击代码被写入数据库中。常见于:写日志、留言、评论的地方 DOM型 DOM型XSS与…

Kubernetes-Taint (污点)和 Toleration(容忍)

目录 一、Taint(污点) 1.污点的组成 2.污点的设置、查看和去除 3.污点实验: 二、Toleration(容忍) 1.容忍设置的方案 2.容忍实验: Taint 和 toleration 相互配合,可以用来避免 pod 被分配…

Windows AD 组策略 通过脚本修改管理员密码:以安全方式

因为本文主要讲的是通过脚本如何以安全方式设置密码,所以关于组策略如何设置请参考这里: WinServer 2019 AD 组策略 启用本地管理员账号,重置密码_ad域命令启用administrator账户-CSDN博客 我们首先要讲一下,以一般方法创建的脚…

2017年认证杯SPSSPRO杯数学建模C题(第二阶段)移动端考研产品的春天真的到来了吗全过程文档及程序

2017年认证杯SPSSPRO杯数学建模 C题 移动端考研产品的春天真的到来了吗 原题再现: 2017 年的全国硕士研究生招生考试共有 201 万人报名参加,比去年增加了 24 万名考生,增加 13.56%。看起来新一轮的考研热潮即将到来,而考研教学和…

用可视化案例讲Rust编程4. 用泛型和特性实现自适配shapefile的读取

本节已经涉及Rust学习曲线上的一个大坑:泛型和特性了,属于语言的深水区,如果初学者,建议看一眼知道有这个功能即可。 如果我们立足于功能实现,那么做到像上一节那样就可以了,从原理上来说,每个…

unity36——原神等手游常用的物理bone(弹簧)裙摆,与Cloth(布料)裙摆插件 Magica Cloth 使用教程(一)

目前我们手游开发,经常会遇到头发,双马尾,长裙,飘带等。以前我们都是在三维软件中制作骨骼后,自己手动K针。这样做有一些弊端,时间长,并且K帧的飘带效果没法随着游戏中角色的移动,旋…

【学网攻】 第(8)节 -- 端口安全

文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学网攻】 第(4)节 -- 交换机划分Vlan【学网攻】 第(5)节 -- Cisco VTP的使用​​​​​​【学网攻】 第(6)节 -- 三层交换机实现VLAN间路由【学网攻…

前端项目部署发版流程

一、本地代码以全部提交并推送至仓库 二、项目根目录添加(Dockerfile、nginx.conf文件) 三、npm run build打包生成dist文件(项目根目录) 四、启动docker(登录状态) 五、执行命令 docker buildx build -t ‘项目的容器集群地…

水库大坝安全监测的技术手段及方法

水库大坝安全监测是指通过仪器观测和巡视检查对水利水电工程主体结构、地基基础、两岸边坡、相关设施以及周围环境所作的测量及观察。水库大坝安全监测是作为水库大坝安全管理的重要组成部分,是掌握水库大坝安全性态的重要手段,是科学调度、安全运行的前…

【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍

Java技术体系方向-JVM虚拟机参数调优原理 内容简介栈上分配与逃逸分析逃逸分析(Escape Analysis)栈上分配基本思想使用场景线程私有对象 虚拟机内存逻辑图JVM内存分配源码:代码总体逻辑 在某些场景使用栈上分配设置JVM运行参数:开启逃逸模式,…

jquery获取select项并移动到另一个select里

用了jquery和bootstrap5。 如下项的左侧可移动到右侧&#xff0c;右侧可移动到左侧。 div代码如下 <div class"input-group mb-3"><span class"input-group-text">可用节点</span><select class"form-select service-type&quo…

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

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

modbus poll测试工具测试modbus tcp与PLC设备连接使用方法

socket默认端口是502&#xff0c;socket连上之后&#xff0c; 按照modbuspoll工具设置的读写参数 生成的RTU命令格式去组装读PLC的设备数据 modbuspoll工具配置&#xff0c;以v9.9.2中文破解版为例&#xff1a; 首先点连接菜单&#xff08;connection&#xff09;建立连接&…

for循环延时时间计算

​ 文章目录 前言一、计算方式二、for循环 2.1 for循环里定义变量2.2 codeblock设置C99标准 三、四、总结 前言 之前做led点亮的实验&#xff0c;好像是被delay函数影响了&#xff0c;因为delay参数设置的不对&#xff0c;led没有正常闪烁。现在就想搞明白一些。 一、计算…

Fluent Bit配置与使用——基于版本V2.2.2

Fluent Bit日志采集终端 文档适用版本&#xff1a;V2.2 1、日志文件处理流程 数据源是一个普通文件&#xff0c;其中包含 JSON 内容&#xff0c;使用tail插件记录日志&#xff0c;通过parsers进行格式化匹配&#xff08;图里没写&#xff09;&#xff0c;通过两个筛选器&…

新能源汽车智慧充电桩管理方案:环境监测与充电安全多维感知

随着新能源技术的不断发展&#xff0c;新能源充电桩作为电动汽车的重要基础设施&#xff0c;其管理和维护变得尤为重要。环境监测类传感器能够实时监测充电桩周围的环境参数&#xff0c;如温度、湿度等&#xff0c;为管理人员提供及时、准确的数据&#xff0c;以便做出相应的调…