Apache Paimon 文件管理

这篇具有很好参考价值的文章主要介绍了Apache Paimon 文件管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

管理小文件

许多用户关注小文件问题,可能导致以下情况:

  • 稳定性问题:HDFS 中如果存在太多小文件的话会导致 NameNode 压力过大

  • 成本问题:在 HDFS 中,每个小文件都会占用至少一个数据块的大小,例如 128 MB

  • 查询效率:查询过多小文件会影响查询效率

理解 Checkpoint

假设你正在使用 Flink Writer,每个 Checkpoint 会生成 1 ~ 2 个 snapshot,并且 Checkpoint 时会强制将文件生成在分布式文件系统(DFS)上,因此 Checkpoint 间隔越小,生成的小文件就越多。

1、所以先要增加 Checkpoint 间隔时间

默认情况下,不仅 Checkpoint 会生成文件,写入器(Writer)的内存(write-buffer-size)耗尽时也会将数据刷新到 DFS 并生成相应的文件。你可以启用 write-buffer-spillable 在写入器中生成溢出文件,以生成更大的文件在 DFS 上。

2、其次增加 write-buffer-size 或启用 write-buffer-spillable

理解 Snapshot

Apache Paimon 文件管理,apache
Paimon 维护文件的多个版本,文件的合并和删除是逻辑上的操作,并不实际删除文件。只有在 snapshot 过期时,文件才会真正被删除,所以减少文件的一种方法是缩短 snapshot 过期的时间。Flink Writer 会自动处理过期的 snapshot。

理解 分区 和 Buckets

Paimon 的文件以分层方式组织。下图展示了文件布局。从 snapshot 文件开始,Paimon 的读取器可以递归地访问表中的所有记录。

Apache Paimon 文件管理,apache

举个例子:

CREATE TABLE MyTable (
    user_id BIGINT,
    item_id BIGINT,
    behavior STRING,
    dt STRING,
    hh STRING,
    PRIMARY KEY (dt, hh, user_id) NOT ENFORCED
) PARTITIONED BY (dt, hh) WITH (
    'bucket' = '10'
);

表数据会被物理分片到不同的分区,里面有不同的 Bucket ,所以如果整体数据量太小,单个 Bucket 中至少有一个文件,建议你配置较少的 Bucket 数量,否则会出现也有很多小文件。

理解 Primary Table 的 LSM

LSM 树将文件组织成多个 sorted run。一个 sorted run 由一个或多个数据文件组成,每个数据文件都属于且仅属于一个 sorted run。

Apache Paimon 文件管理,apache

默认情况下,sorted run 的数量取决于 num-sorted-run.compaction-trigger 参数,这意味着一个Bucket 中至少有 5 个文件。如果你想减少这个数量,可以保留较少的文件,但写入性能可能会受到影响。如果该值变得过大,在查询表时会需要更多的内存和 CPU,这是写入性能和查询性能之间的权衡。

理解 Append-Only 表的文件

默认情况下 Append Only 表也会进行自动合并以减少小文件的数量。

然而,对于 Bucket 的 Append Only 表来说,它会出于顺序目的而只压缩 Bucket 内的文件,这可能会保留更多的小文件。

理解 Full Compaction

也许你认为 Primary Key 表中的 5 个文件还可以接受,但 Append Only 表(Bucket)可能在一个单独的 Bucket 中就会有 50 个小文件,这是很难接受的。更糟糕的是,不再活跃的分区也会保留这么多小文件。

建议你配置全量合并(Full-Compaction),通过设置 full-compaction.delta-commits参数,在Flink 写入过程中定期执行全量合并,这样可以确保在写入结束之前对分区进行完全合并。

Apache Paimon 相关文章:

Apache Paimon 介绍

Apache Paimon 基础概念

Apache Paimon 文件布局设计

Apache Paimon 文件操作

Flink Table Store ——从计算到存储提升流批统一端到端用户体验

Apache Paimon 文件管理,apache文章来源地址https://www.toymoban.com/news/detail-833369.html

到了这里,关于Apache Paimon 文件管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 流数据湖平台Apache Paimon(二)集成 Flink 引擎

    Paimon目前支持Flink 1.17, 1.16, 1.15 和 1.14。本课程使用Flink 1.17.0。 环境准备 2.1.1 安装 Flink 1)上传并解压Flink安装包 tar -zxvf flink-1.17.0-bin-scala_2.12.tgz -C /opt/module/ 2)配置环境变量 2.1.2 上传 jar 包 1)下载并上传Paimon的jar包 jar包下载地址:https://repository.apache.org/snapshots/org/apache/pa

    2024年02月09日
    浏览(47)
  • 新一代数据湖存储技术Apache Paimon入门Demo

    目录 前言 1. 什么是 Apache Paimon 一、本地环境快速上手 1、本地Flink伪集群 2、IDEA中跑Paimon Demo 2.1 代码 2.2 IDEA中成功运行 3、IDEA中Stream读写 3.1 流写 3.2 流读(toChangeLogStream) 二、进阶:本地(IDEA)多流拼接测试 要解决的问题: note: 1、\\\'changelog-producer\\\' = \\\'full-compaction\\\' (1)m

    2024年02月08日
    浏览(51)
  • 24、文件上传漏洞——Apache文件解析漏洞

      Apache文件解析漏洞与用户配置有密切关系。严格来说,属于用户配置问题,这里使用ubantu的docker来复现漏洞: CGI:共同网关接口,是HTTP服务器与机器上其他程序进行通信的一个接口,让web服务器必要时启动额外的程序处理动态内容。 FastCGI:CGI解释器的更快实现,可以提

    2024年02月04日
    浏览(46)
  • Apache DolphinScheduler数仓任务管理规范

    前言: 大数据领域对多种任务都有调度需求,以离线数仓的任务应用最多,许多团队在调研开源产品后,选择Apache DolphinScheduler(以下简称DS)作为调度场景的技术选型。得益于DS优秀的特性,在对数仓任务做运维和管理的时候,往往比较随意,或将所有任务节点写到一个工作

    2024年02月19日
    浏览(40)
  • 配置与管理Apache服务器(linux)

    1、安装Apache服务软件 # yum install -y httpd 2、启动Apache服务 # systemctl start httpd systemctl的其它选项 start:启动 stop:停止 restart:重启 enable:设置开机自动启动 disable:禁用服务,从开机启动项把服务移除 status:查看服务状态 3、关闭selinux #setenforce 0 4、关闭防火墙 # systemctl stop

    2024年02月09日
    浏览(66)
  • Apache POI操作Excel文件

            Apache POI是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能,其中使用最多的就是使用 POI操作Excel文件 。 POI结构: 我们使用:XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能 POI操作Excel表格封装了几个核心

    2024年02月10日
    浏览(67)
  • Apache Lucene 7.0 - 索引文件格式

    原文地址 这个文档定义了在这个版本的Lucene中使用的索引文件格式。如果您使用的是不同版本的Lucene,请查询对应版本的文档。 本文档试图提供Apache Lucene文件格式的高级定义。 Lucene的基本概念是索引、文档、字段和术语(分词后的检索词)。 索引包含一系列文档。 文档是

    2024年02月07日
    浏览(30)
  • Apache POC(对Excel文件操作)

    Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目,我们可以使用POI在java程序中对Miscrosoft Office各种文件进行读写操作 一般情况下,POI都是用于操作Excel文件。 Test读取测试

    2024年02月07日
    浏览(37)
  • Apache Doris 入门教程36:文件分析和文件缓存

    通过 Table Value Function 功能,Doris 可以直接将对象存储或 HDFS 上的文件作为 Table 进行查询分析。并且支持自动的列类型推断。 更多使用方式可参阅 Table Value Function 文档: S3:支持 S3 兼容的对象存储上的文件分析。 HDFS:支持 HDFS 上的文件分析。 这里我们通过 S3 Table Value Fun

    2024年02月11日
    浏览(63)
  • Apache-POI读写excel文件

    ApachePOI是用Java编写的免费开源的跨平台的JavaAPI,ApachePOI提供API给Java程序对MicrosoftOffice格式档案读和写的功能,其中使用最多的就是使用POI操作Excel文件。 依赖导入: 针对不同的文档形式来操作的时候会提供相应的一些类 HSSF - 提供读写Microsoft Excel XLS格式档案的功能 XSSF -

    2024年02月05日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包