shangjg3
这个作者很懒,什么都没留下…
展开
-
在Flink DataStream API中集成和使用Hudi
首先创建一个Flink Hudi表,并使用DataStream API将数据插入Hudi表中,如下所示。添加相应版本的maven依赖。原创 2024-03-15 14:22:26 · 246 阅读 · 0 评论 -
流式数据湖平台Hudi核心概念四:文件布局
表被划分为多个分区,这些分区是包含该分区的数据文件的文件夹,非常类似于。以时间轴的形式维护了在数据集上执行的所有操作的元数据;,这些日志文件包含自生成基本文件以来对基本文件的插入。目录对应着表的元数据信息,包括表的版本管理()在每个分区中,文件被组织成文件组,由文件。操作:合并日志和基本文件以产生新的文件片。文件)是自己编码的,通过积攒数据。旧的文件片以回收文件系统上的空间。)每个文件组包含几个文件片(将一个表映射为如下文件结构。)、归档目录(存放过时的。)的行为、时间戳和状态,的实现中实现高效率的。原创 2023-11-09 11:34:34 · 128 阅读 · 0 评论 -
流式数据湖平台Hudi核心概念三:索引
当设置为false时,原始记录将只在旧分区中更新,如果传入记录的分区值与存储中的内容不匹配,则忽略新的传入分区。当设置为false时,原始记录将只在旧分区中更新,如果传入记录的分区值与存储中的内容不匹配,则忽略新的传入分区。当设置为false时,原始记录将只在旧分区中更新,如果传入记录的分区值与存储中的内容不匹配,则忽略新的传入分区。当已经存在的记录与存储中的记录相比被打乱到新分区时,设置此配置时,将删除旧分区中的旧记录,并将其作为新记录插入新分区。,但也分布在从旧到新的数据集中的许多分区和数据文件中。原创 2023-10-11 17:55:16 · 230 阅读 · 0 评论 -
流式数据湖平台Hudi核心概念二:表和查询类型
在写入数据时,对现有文件组的更新会为该文件组生成一个带有提交即时时间戳的新切片,而插入数据会分配一个新文件组并为该文件群写入其第一个切片。针对这样一个SQL查询(例如:select count(*)计数该分区中的总记录),首先检查最新提交的时间线,并过滤每个文件组中除最新文件切片外的所有文件切片。一个旧的查询看不到当前执行中提交的颜色编码为粉红色的文件,而是在提交后开始的新查询获取新数据。文件上,以控制查询性能(较大的增量日志文件将导致与查询端的合并数据的合并时间更长)。文件仍然使用提交进行版本控制。原创 2023-10-10 10:53:58 · 96 阅读 · 0 评论 -
流式数据湖平台Hudi核心概念一:时间线
顾名思义,为了在有效数据文件上提供元数据,并确保随着时间线的增长,对时间线的读取不会产生不必要的延迟,活动时间线需要以可以提供的元数据(时间线瞬间)为界。它提供了一套API和工具,可以帮助用户在数据湖中进行写入、更新、删除和查询等操作,并提供了高效的数据索引和存储机制,以加速数据的访问和处理。还提供了用于数据管理的元数据存储和查询功能,可以跟踪数据的版本、变更历史和元数据信息。一个关键的观察结果是,提交时间表示数据的到达时间是上午10:20,而实际的数据组织反映了数据的实际时间或事件时间。原创 2023-10-10 01:00:00 · 156 阅读 · 0 评论 -
主流OLAP引擎查询Hudi表数据
Hudi存储和管理数据,同时为各种查询引擎提供了不同的查询方式。本文介绍了如何在不同的查询引擎中使用不同的查询方式,并讨论每个查询引擎的任何特定说明。1.1 快照查询快照查询是Hudi表最常见的查询类型。Spark SQL同时支持COPY_ON_WRITE和MERGE_ON_READ表上的快照查询。使用会话属性,可以围绕数据跳过和索引指定各种选项,以优化查询性能,如下所示。1.2 time travel 查询可以使用AS OF语法在特定的提交时间查询表。原创 2023-10-09 10:30:34 · 245 阅读 · 0 评论 -
流式数据湖平台实战 | HudiSQL DML
从0.14.0开始,不推荐使用hoodie.sql.bulk.insert.enable和hoodie.sql.insert.mode。Hudi在使用hoodie.spark.sql.insert.into.operation配置选择INSERT INTO语句的底层写入操作时提供了灵活性。对于具有用户配置的主键的Hudi表,Merge Into中的联接条件应包含该表的主键。可能的选项包括“bulk_insert”(大批量插入)、“insert”(带小文件管理)和“upsert”(带重复数据消除/合并)。原创 2023-10-09 07:20:26 · 436 阅读 · 0 评论 -
流式数据湖平台实战 | HudiSQL DDL
Spark SQL创建的新Hudi表将默认设置hoodie.datasource.write.hive_style_partitioning=true,以便于使用。这可以使用表属性重写。例如:可以启用列统计信息的收集来执行快速数据跳过,或者可以使用以下表属性使用记录级别索引来执行快速更新或点查找。表存储的默认路径,该路径用于自动推断表路径,默认表路径:${catalog.path}/${db_name}/${table_name}使用标准CREATE TABLE语法创建表,该语法支持分区和传递表属性。原创 2023-10-05 17:08:15 · 643 阅读 · 0 评论 -
流式数据湖平台实战 | 在FlinkSQL中集成和使用Hudi
2.插入数据本文介绍在Flink 中集成和使用Hudi。介绍Flink如何将Streaming引入Hudi。在Hudi上使用Flink,并学习Flink读写Hudi的不同模式:Flink SQL客户端写入:Flink SQL客户端写入(读取)Hudi。配置:对于全局配置,通过$FLINK_HOME/conf/FLINK-conf.yaml进行设置。对于每个作业配置,通过表选项进行设置。原创 2023-10-07 12:06:06 · 384 阅读 · 0 评论 -
流式数据湖平台实战 | 在Spark中集成和使用Hudi
3.创建表本文介绍了在Spark中集成和使用Hudi的功能。使用Spark数据源API(scala和python)和Spark SQL,插入、更新、删除和查询Hudi表的代码片段。1.安装Hudi适用于Spark-2.4.3+和Spark 3.x版本。1.1 Spark 3支持矩阵Hudi0.14.x0.13.x0.12.x0.11.x0.10.x3.0.x默认的构建Spark版本指导如何构建hudi-spark3-bundle。原创 2023-10-06 02:15:00 · 353 阅读 · 0 评论 -
Hudi 客户端基础操作
hadoop和hive已启动。3.查看hudi表详细信息。5. 查看commit信息。启动hudi-cli。原创 2023-08-04 17:46:09 · 224 阅读 · 0 评论 -
Hudi 源码编译安装
1.安装前准备1.1 环境准备1.2 安装maven配置环境变量修改maven本地仓库配置和阿里云maven远程仓库。原创 2023-08-04 16:47:17 · 190 阅读 · 0 评论