如何给网站做第三方流量监测,使用框架开发wordpress,备案的网站做跳转不影响备案把,网站域名年费目录
一、为什么需要HUDI#xff1f;
1. 传统技术选型存在哪些问题#xff1f;
2. Hudi有什么优点#xff1f;
基于 Hudi Payload 机制的多流拼接方案#xff1a;
二、HUDI的应用场景
1. 什么场景适合使用hudi#xff1f;
2. 什么场景不适合使用hudi#xff1f;
…目录
一、为什么需要HUDI
1. 传统技术选型存在哪些问题
2. Hudi有什么优点
基于 Hudi Payload 机制的多流拼接方案
二、HUDI的应用场景
1. 什么场景适合使用hudi
2. 什么场景不适合使用hudi
三、什么是HUDIHUDI能做什么
1. 什么是HUDI
2. HUDI能做什么特性
四、HUDI的概念原理
1. 概念
2. 原理
五、流批一体 一、为什么需要HUDI
1. 传统技术选型存在哪些问题
【离线方面】
这种T1延迟的结果已经无法满足商业分析同学的日常分析需求。
【实时方面】
有些场景需要基于具有相同主键的多个数据源实时构建一个大宽表数据源一般包括 Kafka 中的指标数据以及 KV 数据库中的维度数据。
业务侧通常会基于实时计算引擎在流上做多个数据源的 JOIN 产出这个宽表但这种解决方案在实践中面临较多挑战主要可分为以下两种情况
01 - 维表 JOIN
场景挑战指标数据与维度数据进行关联其中维度数据量比较大指标数据 QPS 比较高导致数据可能会产出延迟。当前方案将部分维度数据缓存起起来缓解高 QPS 下访问维度数据存储引擎产生的任务背压问题。存在问题由于业务方的维度数据和指标数据时间差比较大所以指标数据流无法设置合理的 TTL而且存在 Cache 中维度数据没有及时更新导致下游数据不准确的问题。
02 - 多流 JOIN
场景挑战多个指标数据进行关联不同指标数据可能会出现时间差比较大的异常情况。当前方案使用基于窗口的 JOIN并且维持一个比较大的状态。存在问题维持大的状态不仅会给内存带来的一定的压力同时 Checkpoint 和 Restore 的时间会变 得更长可能会导致任务背压。
总结上述场景遇到的挑战主要可归结为以下两点 由于多流之间时间差比较大需要维持大状态同时 TTL 不好设置。 由于对维度数据做了 Cache维度数据数据更新不及时导致下游数据不准确。 2. Hudi有什么优点
基于 Hudi Payload 机制的多流拼接方案
Payload是一个条数据的内容的抽象决定了同一个主键的数据的增删改查逻辑也决定了其序列化的方式。通过对payload的自定义可以实现数据的灵活合并数据的自定义编码序列化等丰富Hudi现有的语义提升性能。
多流数据完全在存储层进行拼接与计算引擎无关因此不需要保留状态及其 TTL 的设置。维度数据和指标数据作为不同的流独立更新更新过程中不需要做多流数据合并下游读取时再 Merge 多流数据因此不需要缓存维度数据同时可以在执行 Compact 时进行 Merge加速下游查询。支持离线场景和流批混合场景。内置通用模板支持数据去重等通用接口同时可满足用户定制化数据处理需求。 二、HUDI的应用场景
1. 什么场景适合使用hudi 0. 具有相同主键的多个数据源构建一个大宽表 1. 近实时DB数据入仓/湖把原来T 1的数据新鲜度提升到分钟级别 2. 近实时OLAP分钟级别的端到端数据新鲜度同时又非常开放的OLAP查询引擎可以适配 3. 近实时ETL 2. 什么场景不适合使用hudi
下游对时效性要求较高对数据延迟容忍度较低 三、什么是HUDIHUDI能做什么
1. 什么是HUDI
Hudi是Hadoop Updates and Incrementals的简写它是由Uber开发并开源的Data Lakes解决方案。Hudi 用于管理的数据库层上构建具有增量数据管道的流式数据湖同时针对湖引擎和常规批处理进行了优化。简言之Hudi是一种针对分析型业务的、扫描优化的数据存储抽象它能够使DFS数据集在分钟级的时延内支持变更也支持下游系统对这个数据集的增量处理。 1. Apache Hudi 本身不存储数据仅仅管理数据借助外部存储引擎存储数据比如HDFS、S3 2. 此外Apache Hudi 也不分析数据需要使用计算分析引擎查询和保存数据比如Spark或Flink 参考Hudi学习一Hudi简介_Hub-Link的博客-CSDN博客
2. HUDI能做什么特性 开放性上游支持多种数据源格式下游查询端也同样支持多种查询引擎丰富的事务支持对ACID语义原子性、一致性、隔离性、持久性的增强Hudi 保管修改历史可以做时间旅行或回退Hudi 内部有主键到文件级的索引默认是记录到文件的布隆过滤器 四、HUDI的概念原理
1. 概念
COW表Copy On Write 在数据写入的时候通过复制旧文件数据并且与新写入的数据进行合并对 Hudi 的每一个新批次写入都将创建相应数据文件的新版本。
MOR表Merge On Read 对于具有要更新记录的现有数据文件Hudi 创建增量日志文件记录更新数据。此在写入期间不会合并或创建较新的数据文件版本在进行数据读取的时候将本批次读取到的数据进行Merge。Hudi 使用压缩机制来将数据文件和日志文件合并在一起并创建更新版本的数据文件。 指标 COW MOR 更新代价 高 低 读取延迟 低 一般 写放大 高 低
总结COW适用于读多写少的场景MOR适用于写多读少的场景。
参考腾讯广告业务基于Apache Flink Hudi的批流一体实践 - 墨天轮 (modb.pro)
2. 原理
Hudi存储分为两个部分
元数据 .hoodie目录对应着表的元数据信息包括表的版本管理(Timeline)、归档目录(存放过时的instant也就是版本)一个instant记录了一次提交commit的行为、时间戳和状态Hudi以时间轴的形式维护了在数据集上执行的所有操作的元数据
数据 和hive一样以分区方式存放数据分区里面存放着Base File(.parquet)和Log File(.log.*) MOR表数据组织架构 数据构成关系table - partition - FileGroup - FileSlice - parquet log 五、流批一体
Flink Hudi Flink实现了计算框架一致 Hudi实现了存储框架一致不能使用Kafka、Hive因为不支持迟到数据对结果进行修改以及长时间的数据回溯 HudiHadoop Upserts Deletes and Incrementals是一个开源的数据湖解决方案旨在简化大数据湖的数据管理和增量处理操作。Hudi 在 Apache Hadoop 生态系统中被广泛使用并提供了一些核心功能。
以下是 Hudi 的核心功能
增量写入Incremental WritesHudi 允许在数据湖中进行增量写入操作。它支持更新upsert和删除delete操作这意味着可以有效地处理变化的数据。用户可以仅仅写入发生变化的数据而无需覆盖整个数据集。原子性AtomicityHudi 提供原子性写入操作确保数据写入是事务性的。这意味着要么所有的写入操作都成功要么都失败保持数据的一致性。如果写入过程中发生故障或错误Hudi 可以回滚写入操作避免数据损坏。时态数据Point-in-Time QueriesHudi 允许在数据湖中执行时态查询即可以查询数据的历史版本。这对于分析和回溯数据非常有用。Hudi 使用了写时复制copy-on-write的机制来保存数据的历史版本并提供了灵活的查询接口。数据索引Data IndexingHudi 提供了一种高效的数据索引机制以加速数据查询操作。它使用了基于时间和位置的索引可以快速定位和访问特定数据分区或时间范围内的数据。建表和模式演化Table Creation and Schema EvolutionHudi 允许在数据湖中创建表格并支持模式演化。它可以处理表格架构的变化例如添加、删除或修改列。这使得在数据湖中进行架构更改变得更加灵活和简单。兼容多种数据格式Compatibility with Multiple Data FormatsHudi 可以与多种数据格式兼容包括 Parquet、Avro、ORC 等。这意味着可以使用不同的数据格式进行存储和读取根据具体需求选择最合适的格式。
总而言之Hudi 提供了一种强大而灵活的方式来管理和处理数据湖中的大数据。它的核心功能包括增量写入、原子性操作、时态数据查询、数据索引、表格创建和模式演化以及与多种数据格式的兼容性。这些功能使得在数据湖中进行数据管理和处理变得更加高效和便捷。 其他HUDI相关资料
基于Hudi的流批一体 **基于Apache Hudi Flink多流拼接(大宽表)最佳实践万字长文基于Apache Hudi Flink多流拼接(大宽表)最佳实践-腾讯云开发者社区-腾讯云 *流批一体Hudi近实时数仓实践干货|流批一体Hudi近实时数仓实践-腾讯云开发者社区-腾讯云 *腾讯广告业务基于Apache Flink Hudi的批流一体实践腾讯广告业务基于Apache Flink Hudi的批流一体实践 - 墨天轮 *基于 Hudi 的湖仓一体技术在 Shopee 的实践基于 Hudi 的湖仓一体技术在 Shopee 的实践 - 掘金 FlinkHudi 构架仓湖一体化解决方案Apache Flink学习网 *** 触宝科技基于Apache Hudi的流批一体架构实践https://www.cnblogs.com/leesf456/p/15000030.html Apache Hudi 原理: Hudi 原理 | 聊一聊 Apache Hudi 原理-轻识 ***** 数据湖架构开发-Hudi入门教程
数据湖架构开发-Hudi入门教程 - 知乎
Hudi 快速体验使用含操作详细步骤及截图_安装完hudi后如何远程使用_半岛铁子_的博客-CSDN博客
Apache Hudi入门指南含代码示例 - 墨天轮