hudi0.13版本clean策略

hudi0.13版本clean策略

在 Apache Hudi 0.13 版本中,清理策略对于数据管理和存储优化起着关键作用。为了确保数据湖的有效利用和性能优化,了解和正确配置清理策略至关重要。以下是 Hudi 0.13 版本的清理策略详细说明及注意事项。

清理策略概述

Hudi 提供了两种主要的清理策略:

  1. KEEP_LATEST_COMMITS:保留最近的几次提交。
  2. KEEP_LATEST_FILE_VERSIONS:保留每个文件的最近几个版本。

配置参数

以下是常见的配置参数:

  • hoodie.cleaner.policy:指定清理策略,可以是 KEEP_LATEST_COMMITSKEEP_LATEST_FILE_VERSIONS
  • hoodie.cleaner.commits.retained:对于 KEEP_LATEST_COMMITS 策略,指定要保留的最近提交次数。
  • hoodie.cleaner.fileversions.retained:对于 KEEP_LATEST_FILE_VERSIONS 策略,指定要保留的每个文件的版本数量。

详细说明

KEEP_LATEST_COMMITS

该策略保留最近的 N 次提交生成的文件,删除更早的文件版本。

配置示例:

conf.setString("hoodie.cleaner.policy", "KEEP_LATEST_COMMITS");
conf.setInteger("hoodie.cleaner.commits.retained", 5); // 保留最近 5 次提交

注意点:

  • 适用于频繁提交和更新的数据表,确保保留最近的数据变更记录,同时删除旧版本以释放存储空间。
  • 需要平衡保留的提交次数和存储空间的利用率。如果设置过小,可能会导致数据恢复困难;设置过大,可能会占用过多存储空间。
KEEP_LATEST_FILE_VERSIONS

该策略保留每个数据文件的最近 N 个版本,删除更早的文件版本。

配置示例:

conf.setString("hoodie.cleaner.policy", "KEEP_LATEST_FILE_VERSIONS");
conf.setInteger("hoodie.cleaner.fileversions.retained", 3); // 保留每个文件的最近 3 个版本

注意点:

  • 适用于需要保留每个文件的多个版本的情况,如需要回溯或审计历史数据。
  • 确保设置合理的文件版本保留数量,以防止存储空间不足或数据恢复困难。

清理策略的执行

清理操作由 Hudi 的 HoodieCleaner 进行管理,可以通过手动触发或自动定期执行。清理策略通常在提交操作之后自动执行,但也可以通过手动调用清理操作来管理数据文件。

配置示例

以下是一个完整的配置示例,展示如何在 Flink 或 Spark 应用中配置 Hudi 的清理策略:

Flink 配置示例:

import org.apache.flink.configuration.Configuration;Configuration conf = new Configuration();
conf.setString("hoodie.cleaner.policy", "KEEP_LATEST_COMMITS");
conf.setInteger("hoodie.cleaner.commits.retained", 5);

Spark 配置示例:

import org.apache.hudi.config.HoodieWriteConfig;val hudiOptions = Map(HoodieWriteConfig.CLEANER_POLICY_PROP -> "KEEP_LATEST_COMMITS",HoodieWriteConfig.CLEANER_COMMITS_RETAINED_PROP -> "5"
)

注意事项

  1. 资源管理:清理操作会消耗计算资源和I/O资源,建议在系统负载较低时进行清理操作,以避免影响系统性能。
  2. 监控和日志:定期监控清理操作的日志和指标,确保清理策略按预期执行,并及时调整配置。
  3. 备份和恢复:在调整清理策略前,确保有数据备份方案,以防误删除重要数据导致数据丢失。
  4. 测试和验证:在生产环境中应用新的清理策略前,建议在测试环境中进行充分测试,验证策略的有效性和影响。

通过合理配置和管理清理策略,可以确保 Hudi 表的高效运行和存储空间的优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/16556.shtml

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

相关文章

定义字符串报错:ninja: build stopped: subcommand failed.

代码块: char c[] [a,b,c,d,e,\n];报错:ninja: build stopped: subcommand failed.解决: []改成{}

基于 Spring Boot 博客系统开发(十一)

基于 Spring Boot 博客系统开发(十一) 本系统是简易的个人博客系统开发,为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。🌿🌿🌿 基于 Spring Boot 博客系统开发(十)&#x…

云上聚智——移动云云服务器进行后端的搭建及部署

什么是移动云 移动云是指将移动设备和云计算技术相结合,为移动应用提供强大的计算和存储能力的服务模式。传统的移动应用通常在本地设备上进行计算和存储,而移动云将这些任务转移到云端进行处理。通过移动云,移动设备可以利用云端的高性能计算…

基于Python+flask+echarts的气象数据采集与分析系统,可实现lstm算法进行预测

背景 基于PythonFlaskEcharts的气象数据采集与分析系统结合了强大的数据处理能力和可视化展示技术,旨在实现对气象数据的实时采集、存储和分析。通过Python编程语言实现数据采集模块,利用Flask框架搭建后端系统,实现数据处理、存储和分析功能…

Python库之selenium的简介、安装、使用方法详细攻略

Python库之selenium的简介、安装、使用方法详细攻略 简介 Selenium是一个强大的自动化测试工具,它支持多种编程语言的绑定,包括Python。Selenium可以用于自动化网页操作,如浏览器界面的测试、数据抓取、自动化表单填写等。它模拟了真实用户…

面试数据库八股文十问十答第七期

面试数据库八股文十问十答第七期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)索引是越多越好吗&#xff…

ORB-SLAM2从理论到代码实现(六):Tracking程序详解(上)

1. Tracking框架 Tracking线程流程框图: 各流程对应的主要函数 2. Tracking整体流程图 上面这张图把Tracking.cc讲的特别明白。 tracking线程在获取图像数据后,会传给函数GrabImageStereo、GrabImageRGBD或GrabImageMonocular进行预处理,这…

【php开发系统性学习】——thinkphp框架的控制器和视图的精简详细的使用

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

Double 4 VR虚拟情景实训教学系统在法律课堂上的应用

Double 4 VR虚拟情景实训教学系统在法律课堂上的应用: 1. 增强实践性和操作性:虚拟现实技术可以让学生进入模拟的实践环境,操作各种法律事务,从而提高实践能力和操作水平。 2. 提升学习体验:虚拟现实技术能够模拟真实的…

JSON-C库 下载安装

### JSON-C库的下载 您可以通过访问JSON-C的官方GitHub仓库来下载JSON-C库。以下是下载和安装JSON-C库的一般步骤: 1. 打开终端或命令提示符。 2. 输入以下命令来克隆JSON-C的GitHub仓库: git clone https://github.com/json-c/json-c.git …

[Android]联系人-删除修改

界面显示 添加按钮点击,holder.imgDelete.setlog();具体代码 public MyViewHolder onCreateViewHolder(NonNull ViewGroup parent, int viewType) {//映射布局文件,生成相应的组件View v LayoutInflater.from(parent.getContext()).inflate(R.layout.d…

【OceanBase诊断调优】—— 临时文件排查手册

本文介绍临时文件常见的问题及排查方法。 临时文件在不同的 OceanBase 数据库版本上存在不同的使用限制,具体如下: 单个 observer 节点同时写入的最大文件数 OceanBase 数据库 V2.x 及之前版本,默认最大 4000 个,可以通过 _tempo…

胶原蛋白三肽能否深入皮肤?一场关于美丽的科学之旅

在追求美丽的道路上,我们总是对各种护肤成分充满好奇。今天,就让我们一起探讨一个热门话题——胶原蛋白三肽,它究竟能否深入我们的皮肤,为我们带来期待中的美丽改变呢? 首先,我们需要了解胶原蛋白肽是什么…

Cross-Episodic Curriculum for Transformer Agents

我们采用以下六个标准来提供一个全面的框架,用于对机器学习研究,特别是在序列决策和具身智能体背景下的研究进行分类和理解: 学习范式:这个标准区分了算法获取知识的方式。 强化学习 (RL) 是一种试错法,智能体通过与环…

开发心电疾病分类的深度学习模型并部署运行于ARM虚拟硬件平台(AVH)

目录 一、ARM虚拟硬件平台介绍 二、心电疾病分类模型介绍 三、部署流程 3.1 基于百度云平台订阅虚拟硬件镜像 3.2 安装编译相关组件 3.1 数据加载 3.2 模型转换 方式一: tensorflow模型转换为onnx模型,onnx模型转换为TVM模型 方式二&#xff1…

注册表Windows兼容性设置(AppCompatFlags)

属性 - 兼容性 EXE文件属性中有兼容性标签,当有些老版本软件不能正常运行时经常会调整这里的设置。 image.png 上面的所有选项都写在注册表中,其中“更改所有用户的设置”保存在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppC…

html5各行各业官网模板源码下载(2)

文章目录 1.来源2.源码模板2.1 HTML5好看的旅行网站模板源码2.2 HTML5自适应医院叫号大屏模板源码2.3 HTML5好看的高科技登录页面模板源码2.4 HTML5宠物美容服务公司网站模板源码2.5 HTML5创意品牌广告设计公司网站模板源码2.6 HTML5实现室内设计模板源码2.7 HTML5黄金首饰网站…

踏青而行、奔赴山海 | 2024中创算力户外徒步团建

春意藏,夏初长。风暧人间草木香,为了丰富中创员工的业余生活,增加全体员工亲近大自然的机会。回归自然、愉悦身心,5月15日,中创算力组织开展了户外徒步团建。 一群志同道合的人,一起奔跑在理想的路上。彼此…

前端JS怎么更换颜色:探索JavaScript中的色彩变换魔法

前端JS怎么更换颜色:探索JavaScript中的色彩变换魔法 在前端开发中,JavaScript(JS)扮演着至关重要的角色,其中一项常见的任务便是动态地更改网页元素的颜色。这个过程看似简单,实则蕴含着丰富的技巧和深度…