表治理-Iceberg元数据合并-metadata.json文件
一、背景描述
元数据文件随时间增多,导致查询变慢。通过如下方式可以指定metadata个数,超过指定数量自动清理。
metadata文件对应Iceberg概念是Snapshots
二、解决方案
1、在建表时增加参数
‘write.metadata.delete-after-commit.enabled’=‘true’,
‘write.metadata.previous-versions-max’=‘5’
2、建表语句
自动清理metadata文件
CREATE TABLE iceberg_test.autoclean_usql_test(
`id` BIGINT,
`name_cn` STRING,
`description` STRING,
`status` INT
)USING iceberg
TBLPROPERTIES(
'format-version'='2'
,'property-version'='2'
,'write.upsert.enabled'='true'
,'write.metadata.delete-after-commit.enabled'='true'
,'write.metadata.previous-versions-max'='5'
)
不带metadata自动清理
CREATE TABLE iceberg_test.notclean_usql_test(
`id` BIGINT,
`name_cn` STRING,
`description` STRING,
`status` INT
)USING iceberg
TBLPROPERTIES(
'format-version'='2'
,'property-version'='2'
,'write.upsert.enabled'='true')
|
|
3、存储路径
/user/hive/warehouse/iceberg_test.db/autoclean_usql_test
三、插入数据测试
1、带metadata清理测试,因保留5个,第六次插入才清理
插入数据,查看生成的文件数量。查看命令如下
hdfs dfs -ls /user/hive/warehouse/iceberg_test.db/autoclean_usql_test/metadata |grep 'Found'
insert into iceberg_test.autoclean_usql_test values(1,'name1','desc',1); Found 4 items 2个metadata.json 1个*m0.avro 1个***.avro
insert into iceberg_test.autoclean_usql_test values(2,'name2','desc',1); Found 7 items 3个metadata.json 2个*m0.avro 2个***.avro
insert into iceberg_test.autoclean_usql_test values(3,'name3','desc',1); Found 10 items 4个metadata.json 3个*m0.avro 3个***.avro
insert into iceberg_test.autoclean_usql_test values(4,'name4','desc',1); Found 13 items 5个metadata.json 4个*m0.avro 4个***.avro
insert into iceberg_test.autoclean_usql_test values(5,'name5','desc',1); Found 16 items 6个metadata.json 5个*m0.avro 5个***.avro
---开始清理生效
insert into iceberg_test.autoclean_usql_test values(6,'name6','desc',1); Found 18 items 6个metadata.json 6个*m0.avro 6个***.avro
insert into iceberg_test.autoclean_usql_test values(7,'name7','desc',1); Found 20 items 6个metadata.json 7个*m0.avro 7个***.avro
2、不带metadata清理,每次增加三个,一直增加。
hdfs dfs -ls /user/hive/warehouse/iceberg_test.db/notclean_usql_test/metadata
insert into iceberg_test.notclean_usql_test values(1,'name1','desc',1); Found 4 items 2个metadata.json 1个*m0.avro 1个***.avro
insert into iceberg_test.notclean_usql_test values(2,'name2','desc',1); Found 7 items 3个metadata.json 2个*m0.avro 2个***.avro
insert into iceberg_test.notclean_usql_test values(3,'name3','desc',1); Found 10 items 4个metadata.json 3个*m0.avro 3个***.avro
insert into iceberg_test.notclean_usql_test values(4,'name4','desc',1); Found 13 items 5个metadata.json 4个*m0.avro 4个***.avro
insert into iceberg_test.notclean_usql_test values(5,'name5','desc',1); Found 16 items 6个metadata.json 5个*m0.avro 5个***.avro
insert into iceberg_test.notclean_usql_test values(6,'name6','desc',1); Found 19 items 7个metadata.json 6个*m0.avro 6个***.avro
insert into iceberg_test.notclean_usql_test values(7,'name7','desc',1); Found 22 items 8个metadata.json 7个*m0.avro 7个***.avro
四、参考文章
1、实践数据湖iceberg 元数据合并
https://blog.csdn.net/spark_dev/article/details/122876819
表治理-Iceberg元数据合并-metadata.json文件的更多相关文章
- 第九篇 数据表设计和保存item到json文件
上节说到Pipeline会拦截item,根据设置的优先级,item会依次经过这些Pipeline,所以可以通过Pipeline来保存文件到json.数据库等等. 下面是自定义json #存储item到 ...
- asp.net core2.1 bundleconfig.json合并压缩资源文件
在asp.net core中则可以使用BuildBundlerMinifier来进行css,js的压缩合并 1.使用NuGet安装 BuildBundlerMinifier(也可以在vs中下载安装扩展 ...
- Python实现读取json文件到excel表
一.需求 1.'score.json' 文件内容: { "1":["小花",99,100,98.5], "2":["小王" ...
- JavaScript自学笔记(1)---表单验证,let和const,JSON文件
今天开个JS自学笔记,本身JS的语法很简单,如果学过Java或者C系的都很容易,就不讨论了.主要是讨论实际应用的问题. 1.表单验证: a.html自动验证: HTML 表单验证可以通过浏览器来自动完 ...
- 数据治理之元数据管理的利器——Atlas入门宝典
随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程.作为Hadoop生态最紧密的元数据管理与发现工具,Atlas在其中扮演着重要的位置.但是其官方文档不是很丰富,也不够详细.所以整 ...
- ios项目里扒出来的json文件
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...
- 让EFCore更疯狂些的扩展类库(一):通过json文件配置sql语句
前言 EF通过linq和各种扩展方法,再加上实体模型,编写数据库的访问代码确实是优美.舒服,但是生成的sql不尽如意.性能低下,尤其是复杂些的逻辑关系,最终大家还是会回归自然,选择能够友好执行sql语 ...
- Angular Npm Package.Json文件详解
Angular7 Npm Package.Json文件详解 近期时间比较充裕,正好想了解下Angular Project相关内容.于是将Npm官网上关于Package.json的官方说明文档进行了 ...
- java实现服务端守护进程来监听客户端通过上传json文件写数据到hbase中
1.项目介绍: 由于大数据部门涉及到其他部门将数据传到数据中心,大部分公司采用的方式是用json文件的方式传输,因此就需要编写服务端和客户端的小程序了.而我主要实现服务端的代码,也有相应的客户端的测试 ...
- 直接请求json文件爬取天眼查企业信息(未解决验证码问题)——python3实现
几个月前...省略一堆剧情...直接请求json文件爬取企业信息未成功,在知乎提问后,得到解决,有大佬说带上全部headers和cookie是可以的,我就又去试了下,果然可以(之前自己试的时候不行,没 ...
随机推荐
- Django admin实现图片上传到腾讯云
官网参考:https://docs.djangoproject.com/zh-hans/3.2/howto/custom-file-storage/ 当前业务需要使用django的admin后台进行数 ...
- JPAAS整合宝蓝德
现在软件国产化的需求成了刚需了,因此在实施的过程中,我们整合了宝蓝德,我将过程写一下. 1.宝蓝德提供的程序包. 包名 说明 bes-actuator-spring-boot-2.x-starter- ...
- Node.js Express 框架(1)
1.Express介绍 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. Express的特点: 实现 ...
- 如何在 duxapp 中开发一个兼容 RN 的动画库
Taro 一直以来都没有一个能兼容 RN 的动画方案,duxapp 中扩展了 createAnimation 方法,让这个方法兼容了 RN 端,下面让我们来看看实现思路 createAnimation ...
- 前端每日一知之css选择器
脑图在线链接 本文内容依据[js每日一题]公众号精彩文章总结而来
- 数据万象盲水印 - AIGC的“保护伞”
导语 近期AIGC的爆火让人们觉得AI似乎无所不能,打工人们已然将 AI 发展成了工作的一大助手,但同样也伴随着很多AI的受害者.一些专家.画家.学者们发现自己的"作品风格"正在被 ...
- 04. PART 2 IdentityServer4 ASP.NET Core Identity .NET Core 3.1
04. PART 2 IdentityServer4 ASP.NET Core Identity .NET Core 3.1 如果您已经来到这里,那么祝贺你的坚持,最难的部分已经完成了.我们仅仅需要的 ...
- Rapid SCADA v6安装常见问题
用了很多年的Rapid SCADA v5,现在官网已经推出了v6,就简单写一下有关v6的安装指南吧. 本指南面向Windows用户,不适用于linux用户 步骤 从官网下载Rapid SCADA最新的 ...
- 【C#】【MySQL】【配置数据源】SSL Connection error 发生一个或多个错误。由于·意外的数据包格式,握手失败
[编程语言]C# [数据库]MySQL [控件]SqlDataSource [问题描述]使用SqlDataSource远程连接数据库时,测试连接发生如下错误:"SSL Connection ...
- SPRING BOOT 项目中使用<SCOPE>PROVIDED</SCOPE>打包成WAR到TOMCAT运行出现的问题总结
大家知道 spring boot 项目是自带tomcat 的,但是我们有时候是需要把项目打包成war 然后放到独立的tomcat中运行的,这个时候我们就需要将它自带的tomcat给排除开,这时候我们就 ...