Hudi学习笔记(一)

news2024/12/24 6:27:59
大数据发展背景
  • 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.coloradmin.cn/o/1409278.html

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

相关文章

4 课程分类查询

4 课程分类查询 4.1 需求分析 下边根据内容管理模块的业务流程,下一步要实现新增课程,在新增课程界面,有三处信息需要选择,如下图: 课程等级、课程类型来源于数据字典表,此部分的信息前端已从系统管理服…

SpringMVC第四天(SSM整合)

SSM整合流程 1.创建工程 2.SSM整合 ①Spring SpringConfig package com.cacb.config;import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import;…

opencv#34 边缘检测(二)

Laplacian(拉普拉斯)算子 前面介绍的Sobel算子和Scharr算子存在的问题: 1.要分别计算两个方向(x,y)的边缘,之后将两方向的边缘进行叠加。 2.边缘与方向相关性较大。当我们通过Sobel算子提取x方向检测时,它所能够检测到的边缘都是一个沿着y…

如何在转接的NVME 固态盘上安装WIN 系统并引导启动

问题: 家里的台式机一直挂着一块128G的SSD固态盘,由于家里自己建了NAS存储,所以基本数据都在NAS里,台式机就没有挂机械盘了,但是最近台式机空间被系统侵蚀,显然就不够用了,除了清理系统&#xf…

八数码(BFS + 队列 + 哈希表)

这题虽然比较难,但仍然遵循BFS的思路图片引自我的上一篇文章: 走迷宫(BFS 队列)-CSDN博客 难点 (1)如何将一个二维数组表示的状态记录下来,并且需要便于知道某个状态是否访问过 &#xff0…

Biotin-PEG4-TSA,生物素-PEG4-酪胺,用于标记蛋白质、核酸等生物分子

您好,欢迎来到新研之家 文章关键词:Biotin-PEG4-Tyramide,Biotin-PEG4-TSA,生物素-PEG4-酪胺,Biotin PEG4 Tyramide,Biotin PEG4 TSA 一、基本信息 产品简介:Biotin PEG4 Tyramide is compos…

CSS 楼梯弹弹球

<template><view class="loader"></view> </template><script></script><style>body {background-color: #212121;/* 设置背景颜色为 #212121 */}.loader {position: relative;/* 设置定位为相对定位 */width: 120px;/* 设…

杰卡德距离(Jaccard Distance)

杰卡德距离&#xff08;Jaccard Distance&#xff09;&#xff0c;是用于衡量两个集合差异性的一种指标&#xff0c;它是杰卡德相似系数的补集&#xff0c;可以用来区分集合&#xff08;如知识图谱&#xff09;。 杰卡德相似系数 杰卡德相似系数&#xff08;Jaccard similari…

《Linux高性能服务器编程》笔记07

Linux高性能服务器编程 本文是读书笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考 Linux高性能服务器编程源码: https://github.com/raichen/LinuxServerCodes 豆瓣: Linux高性能服务器编程 文章目录 Linux高性能服务器编程第14章 多线程编程14.1 Linux线程概述14…

【计算机网络】协议,电路交换,分组交换

定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/或接收一个报文或其他事件所采取的动作.网络边缘: 端系统 (因为处在因特网的边缘) 主机 端系统 客户 client服务器 server今天大部分服务器都属于大型数据中心(data center)接入网(access network) 指将端…

钉钉互动卡片对接-普通互动卡片接入流程

这里写目录标题 一、创建内部应用二、搭建普通卡片模板三、调用互动卡片服务端接口接口报文一、发送卡片二、更新卡片三、获取token 一、创建内部应用 登录开发者后台&#xff0c;创建内部应用。 例如 百度-内部测试获取AppKey和AppSecret&#xff0c; 获取应用访问凭证获取企…

亲测好用!终于找到qq怎么恢复群聊记录的绝佳方法了

在使用QQ进行群聊时&#xff0c;有时我们可能会不小心误删群聊记录&#xff0c;导致无法再查看之前的聊天信息。这时候&#xff0c;许多用户就会思考一个问题&#xff1a;qq怎么恢复群聊&#xff1f;在本文中&#xff0c;我们将深入讨论如何在QQ中恢复群聊记录&#xff0c;并提…

Windows云服务器如何配置多用户登录?(Windows 2012)华为云官方文档与视频地址

Windows云服务器如何配置多用户登录&#xff1f;&#xff08;Windows 2012&#xff09;_弹性云服务器 ECS_故障排除_多用户登录_华为云 打开任务栏左下角的“服务器管理器”&#xff0c;在左侧列表中选中“本地服务器” 然后将右侧“远程桌面”功能的选项修改为“启用”&#x…

浏览器实用:禁止浏览器http自动转成https

前言 因为有些网站支持http和https两种协议访问&#xff0c;有些只支持一种协议访问。但根据动态域名安全策略&#xff08;HSTS&#xff09;&#xff0c;只要该域名在浏览器中访问过一次https&#xff0c;那么浏览器将强制使http的请求变为https。 虽然这条浏览器的策略有利于提…

GPT4科研实践应用与AI绘图技术及论文高效写作

详情点击链接&#xff1a;GPT4科研实践应用与AI绘图技术及论文高效写作 第一&#xff1a;2024年AI领域最新技术 1.OpenAI新模型-GPT-5 2.谷歌新模型-Gemini Ultra 3.Meta新模型-LLama3 4.科大讯飞-星火认知 5.百度-文心一言 6.MoonshotAI-Kimi 7.智谱AI-GLM-4 第二&…

LSTM深度学习网络来预测时间序列的工具箱——支持单时间序列和多元时间序列的预测(基于MATLAB的深度学习工具箱二次开发)

亲爱的参加建模竞赛的同学们&#xff0c;想要在数学建模比赛中脱颖而出吗&#xff1f; 让我们一起探索一款神奇的MATLAB工具箱&#xff0c;带你领略使用深度学习模型来预测时间序列的魅力&#xff01; &#xff08;赶紧分享给数学建模的队友学起来吧&#xff09; &#x1f3…

flask_apscheduler源码分析

前言 遵循flask框架的标准的库&#xff0c;称为flask扩展&#xff0c;flask_apscheduler模块就是一个flask扩展&#xff0c;它使用了flask编程上下文&#xff0c;同时内部完全依赖apscheduler。 我近期使用flask_apscheduler遇到了一个所有job全部死亡的bug。现象&#xff1a;j…

【软件测试】学习笔记-Nginx 在系统架构中的作用

本篇文章你探讨 Nginx 在应用架构中的作用&#xff0c;并从性能测试角度看如何利用 Nginx 数据统计用户访问量。 Nginx 重要的两个概念 代理 首先要来解释一下什么是代理&#xff0c;正向代理和反向代理是什么意思&#xff1f;各自作用是什么&#xff1f;不少同学经常听到这…

重生之我是学神,小小c语言题目可笑可笑

#include<stdio.h> int main(void) { float score[10]{0}; int i 0; for(i0;i<10;i) { printf("请输入%d学生成绩",i1); scanf("%f",&score[i]); } float sum0; int m…

vue+draggable+el-upload上传图片拖拽重排方法

vuedraggableel-upload上传图片拖拽重排方法 1.html <el-row><el-col><el-form-item label"添加视频/图片" prop"device_id"><div class"image-upload"><draggable v-model"fileList" update"dataDr…