searchusermenu
  • 发布文章
  • 消息中心
hudi
17 文章2197 阅读1 订阅
全部 大数据 17
hudi
17 文章2.197k 阅读1 订阅
全部
  • hudi表的数据一直在演变过程中,存储在文件系统中的数据文件也在不断增加和版本迭代,hudi提供了表级别的文件系统视图(filesystem view)来简单、直观地了解表中的数据分布情况、数据文件的状态和变化,以及数据的版本控制信息
    矛始
    2024-11-12
    0
    11
    0
  • hudi使用mvcc来实现数据的读写一致性和并发控制,基于timeline实现对事务和表服务的管理,会产生大量比较小的数据文件和元数据文件。大量小文件会对存储和查询性能产生不利影响,包括增加文件系统的开销、文件管理的复杂性以及查询性能的下降。对于namenode而言,当整个集群中文件数到了几千万,就已经会变得很不稳定了
    矛始
    2024-05-07
    0
    61
    0
  • Append模式每次都生成新的parquet文件,不涉及数据修改、去重
    矛始
    2024-05-07
    0
    27
    0
  • 在构建parquet reader的时候需要定位每个查询schema中的列对应数据文件中的位置(用selectIndexs表示
    矛始
    2023-12-19
    0
    46
    2
  • hudi有很多种写入流程,使用不同的表类型、写类型(WriteOperationType)、索引类型(IndexType),流程上都会有所差异。使用flink流式写MOR表场景比较多,顺道梳理一下这个流程的细节
    矛始
    2023-12-19
    0
    21
    0
  • 做数据同步受存储引擎和采集工具的限制,经常都是全量定时同步,亦或是以自增ID或时间作为增量的依据进行增量定时同步,无论是哪种,都存在数据延时较大、会重复同步不变的数据、浪费资源等问题。后来刚接触canal时还大感惊奇,基于mysql的binlog可以这么方便实时同步最新数据,然而历史数据的初始化仍然得使用第三方ETL工具来全量同步。直到flink cdc项目诞生,完全解决了前面的痛点。实时技术的发展已经不能满足于数据只能实时采集,还需要实时地进行数据建模和数据分析,即全链路实时。
    矛始
    2023-12-19
    0
    29
    0
  • 矛始
    2023-12-19
    0
    17
    0
  • hudi支持多种数据写入方式:insert、bulk_insert、upsert、boostrap,我们可以根据数据本身属性(append-only或upsert)来选择insert和upsert方式,同时也支持对历史数据的高效同步并嫁接到实时流程。
    矛始
    2023-06-16
    1
    180
    0
  • hudi的文件布局是能实现增量查询、数据更新等特性的基础,每个hudi表有一个固定的目录,存放元数据(.hoodie)以及数据文件,其中数据文件可以以分区方式进行划分,每个分区有多个数据文件(基础文件和日志文件),这些数据文件在逻辑上被组织为文件组、文件分片
    矛始
    2023-05-17
    0
    159
    0
  • hudi的索引机制是为了加速upsert/delete操作,它维护着(分区 + key)-> fileID之间的映射关系,所以可以减少对非必要base文件的合并
    矛始
    2023-03-28
    0
    121
    0
  • hudi的两大特性:流式查询和支持upsert/delete,hudi的数据变更是基于timeline的,所以时间点(Instant)就成为了实现增量查询的依据。在与flink集成中,当开启了流式读,其实就是一个持续的增量查询的过程,可以通过配置参数read.start-commit和read.end-commit来指定一个无状态的flink job的初始查询范围。
    矛始
    2023-02-16
    0
    106
    0
  • hudi提供三种查询方式:读优化、快照读、增量读,无论是哪种方式,由于hudi的文件组织是有版本的概念(FileGroup,FileSlice),旧版本的文件持续在执行清理,如果被清理的文件正在读取或者即将被读取到,那岂不是很影响使用,所以我们需要设置合理的清理策略保障上层数据处理任务的平稳运行,提高系统的容错性。
    矛始
    2022-12-11
    0
    392
    0
  • hudi自身支持ChangelogModes#FULL & ChangelogModes#UPSERT 两种模式
    矛始
    2022-12-11
    0
    319
    0
  • hudi会不断生成commit、deltacommit、clean等类型的Instant从而形成活跃时间轴(ActiveTimeline),随着时间增长,时间轴变长,.hoodie元数据目录下的文件不断累积,为了限制元数据文件数量,需要对一些比较久远的元数据文件进行归档,保存到.hoodie/archived目录下,可以称之为归档时间轴(ArchivedTimeline)。
    矛始
    2022-12-11
    0
    231
    0
  • 压缩(compaction)仅作用于MergeOnRead类型表,MOR表每次增量提交(deltacommit)都会生成若干个日志文件(行存储的avro文件),为了避免读放大以及减少文件数量,需要配置合适的压缩策略将增量的log file合并到base file(parquet)中。
    矛始
    2022-12-11
    0
    326
    0
  • 引入hudi的后整个构架最直观就是变得简单了,可以实现分钟级别的实时数仓,数据统一存储减少一致性的风险
    矛始
    2022-12-11
    0
    27
    0
  • hudi采用的是mvcc设计,提供了清理工具cleaner来把旧版本的文件分片删除,默认开启了清理功能,可以防止文件系统的存储空间和文件数量的无限增长。
    矛始
    2022-12-10
    0
    124
    0
全部
  • hudi表的数据一直在演变过程中,存储在文件系统中的数据文件也在不断增加和版本迭代,hudi提供了表级别的文件系统视图(filesystem view)来简单、直观地了解表中的数据分布情况、数据文件的状态和变化,以及数据的版本控制信息
    0
    11
    0
  • hudi使用mvcc来实现数据的读写一致性和并发控制,基于timeline实现对事务和表服务的管理,会产生大量比较小的数据文件和元数据文件。大量小文件会对存储和查询性能产生不利影响,包括增加文件系统的开销、文件管理的复杂性以及查询性能的下降。对于namenode而言,当整个集群中文件数到了几千万,就已经会变得很不稳定了
    0
    61
    0
  • Append模式每次都生成新的parquet文件,不涉及数据修改、去重
    0
    27
    0
  • 在构建parquet reader的时候需要定位每个查询schema中的列对应数据文件中的位置(用selectIndexs表示
    0
    46
    2
  • hudi有很多种写入流程,使用不同的表类型、写类型(WriteOperationType)、索引类型(IndexType),流程上都会有所差异。使用flink流式写MOR表场景比较多,顺道梳理一下这个流程的细节
    0
    21
    0
  • 做数据同步受存储引擎和采集工具的限制,经常都是全量定时同步,亦或是以自增ID或时间作为增量的依据进行增量定时同步,无论是哪种,都存在数据延时较大、会重复同步不变的数据、浪费资源等问题。后来刚接触canal时还大感惊奇,基于mysql的binlog可以这么方便实时同步最新数据,然而历史数据的初始化仍然得使用第三方ETL工具来全量同步。直到flink cdc项目诞生,完全解决了前面的痛点。实时技术的发展已经不能满足于数据只能实时采集,还需要实时地进行数据建模和数据分析,即全链路实时。
    0
    29
    0
  • hudi支持多种数据写入方式:insert、bulk_insert、upsert、boostrap,我们可以根据数据本身属性(append-only或upsert)来选择insert和upsert方式,同时也支持对历史数据的高效同步并嫁接到实时流程。
    1
    180
    0
  • hudi的文件布局是能实现增量查询、数据更新等特性的基础,每个hudi表有一个固定的目录,存放元数据(.hoodie)以及数据文件,其中数据文件可以以分区方式进行划分,每个分区有多个数据文件(基础文件和日志文件),这些数据文件在逻辑上被组织为文件组、文件分片
    0
    159
    0
  • hudi的索引机制是为了加速upsert/delete操作,它维护着(分区 + key)-> fileID之间的映射关系,所以可以减少对非必要base文件的合并
    0
    121
    0
  • hudi的两大特性:流式查询和支持upsert/delete,hudi的数据变更是基于timeline的,所以时间点(Instant)就成为了实现增量查询的依据。在与flink集成中,当开启了流式读,其实就是一个持续的增量查询的过程,可以通过配置参数read.start-commit和read.end-commit来指定一个无状态的flink job的初始查询范围。
    0
    106
    0
  • hudi提供三种查询方式:读优化、快照读、增量读,无论是哪种方式,由于hudi的文件组织是有版本的概念(FileGroup,FileSlice),旧版本的文件持续在执行清理,如果被清理的文件正在读取或者即将被读取到,那岂不是很影响使用,所以我们需要设置合理的清理策略保障上层数据处理任务的平稳运行,提高系统的容错性。
    0
    392
    0
  • hudi自身支持ChangelogModes#FULL & ChangelogModes#UPSERT 两种模式
    0
    319
    0
  • hudi会不断生成commit、deltacommit、clean等类型的Instant从而形成活跃时间轴(ActiveTimeline),随着时间增长,时间轴变长,.hoodie元数据目录下的文件不断累积,为了限制元数据文件数量,需要对一些比较久远的元数据文件进行归档,保存到.hoodie/archived目录下,可以称之为归档时间轴(ArchivedTimeline)。
    0
    231
    0
  • 压缩(compaction)仅作用于MergeOnRead类型表,MOR表每次增量提交(deltacommit)都会生成若干个日志文件(行存储的avro文件),为了避免读放大以及减少文件数量,需要配置合适的压缩策略将增量的log file合并到base file(parquet)中。
    0
    326
    0
  • 引入hudi的后整个构架最直观就是变得简单了,可以实现分钟级别的实时数仓,数据统一存储减少一致性的风险
    0
    27
    0
  • hudi采用的是mvcc设计,提供了清理工具cleaner来把旧版本的文件分片删除,默认开启了清理功能,可以防止文件系统的存储空间和文件数量的无限增长。
    0
    124
    0
  • 没有更多了