3.paimon分区设置及分区自动失效

概述

大数据中分区为加速查询,提供了很好的途径,对于大表,生产中加上分区,并按分区查询,性能提升巨大,分区的字段最好具有平均分布数据的功能,能解决大部分或者一部分查询慢的问题,收益最大; 对于大表的另一个问题,就是数据无限膨胀,但磁盘有限,在paimon中这些问题都有解决方案,就是分区和分区自动失效功能

相关链接

在阅读之前,可以查看链接相关文章

paimon相关文章请 移步

paimon官方文档如何设置分区
paimon官方相关文档分区失效

实战

接下来,会对如何分区(包括动态分区),如何设置分区失效进行测试

注意: 如果定义了主键,分区键必须是主键的子集。这和hudi相比,还是有了些限制,不过影响不大;使用hive catalog,如有问题请移步 至此,看如何整合 hive与paimon

代码

CREATE CATALOG paimon_hive WITH (
‘type’ = ‘paimon’,
‘metastore’ = ‘hive’,
‘uri’ = ‘thrift://10.32.xx.142:9083’,
‘warehouse’ = ‘hdfs:///data/hive/warehouse/paimon/hive’,
‘default-database’=‘test’
);
USE CATALOG paimon_hive;

DROP TABLE IF EXISTS STUDENT2Kafka;
CREATE TEMPORARY TABLE IF NOT EXISTS STUDENT2Kafka (
    `ID` STRING
    ,`NAME` STRING
    ,`AGE` STRING
    ,`BIRTHDAY` TIMESTAMP
    ,PRIMARY KEY ( `ID` ) NOT ENFORCED
) WITH (
  'connector' = 'kafka',
  'topic' = 'STUDENT2',
  'properties.bootstrap.servers' = '10.57.12.18:9092',
  'properties.group.id' = 'STUDENT2_GROUP',
  'scan.startup.mode' = 'earliest-offset',
  'format' = 'ogg-json'
);
CREATE TABLE IF NOT EXISTS student2(
    `id`  string
    ,`name` string
    ,`age` string
    ,`birthday` string
    ,dt   string
    ,PRIMARY KEY ( `name`,`id`,`dt` ) NOT ENFORCED )
    PARTITIONED BY (dt) WITH (
    'connector' = 'paimon',
    'metastore.partitioned-table' = 'true',
    'file.format' = 'parquet',
    'write-buffer-size' = '512mb',
    'write-buffer-spillable' = 'true' ,
    'partition.expiration-time' = '1 d',
    'partition.expiration-check-interval' = '1 h',
    'partition.timestamp-formatter' = 'yyyy-MM-dd',
    'partition.timestamp-pattern' = '$dt'
    );

INSERT INTO student2  SELECT 
ID,NAME,AGE,DATE_FORMAT(BIRTHDAY,'yyyy-MM-dd HH:mm:ss'),DATE_FORMAT(BIRTHDAY,'yyyy-MM-dd')
FROM STUDENT2Kafka;

执行效果

上面设置分区及分区失效二合一了,注意分区失效设置时 ‘partition.timestamp-pattern’ = ‘$dt’

在这里插入图片描述
在这里插入图片描述

注意: 分区过期后,它在逻辑上被删除,并且最新的快照无法查询其数据。但是文件系统中的文件不会立即被物理删除,这取决于相应的快照何时过期,也就是说,分区失效要满足上述这些条件,才会真正的删除,测试时,将checkpoint设置短,一个checkpoint就插入一点数据,10条以后,若没有改配置,开始有效果了

结束

分区自动失效这个功能还是很实用的,特别是对于一些表数据增加快的,减少了手动维护,至此,三篇paimon跟着操作一次,对于paimon基本上就入门了
paimon相关文章请 移步

为什么要学习这门课程?·新一代流式数据湖技术组件深入讲解,帮助你快速构造数据湖知识体系。·为构建湖仓一体架构提供底层技术支撑。本课程将从原理、架构、底层存储细节、性能优化、管理等层面对Paimon流式数据湖组件进行详细讲解,原理+实战,帮助你快速上手使用数据湖技术。讲师介绍华为HCIP认证大数据高级工程师北京猎豹移动大数据技术专家中科院大数据研究院大数据技术专家51CTO企业IT学院优秀讲师电子工业出版社2022年度优秀作者出版书籍:《Flink入门与实战》、《大数据技术及架构图解实战派》。本课程提供配套课件、软件、试题、以及源码。课程内容介绍:1、什么是Apache Paimon2、Paimon的整体架构3Paimon的核心特点4、Paimon支持的生态5、基于Flink SQL操作Paimon6、基于Flink DataStream API 操作Paimon7、Paimon中的内部表和外部表8、Paimon中的分区表和临时表9、Paimon中的Primary Key表(主键表)10、Paimon中的Append Only表(仅追加表)11、Changelog Producers原理及案例实战12、Merge Engines原理及案例实战13Paimon中的Catalog详解14、Paimon中的Table详解15、Paimon之Hive Catalog的使用16、动态修改Paimon表属性17、查询Paimon系统表18、批量读取Paimon表19、流式读取Paimon表20、流式读取高级特性Consumer ID21、Paimon CDC数据摄取功能22、CDC之MySQL数据同步到Paimon23、CDC之Kafka数据同步到Paimon24、CDC高级特性之Schema模式演变25、CDC高级特性之计算列26、CDC高级特性之特殊的数据类型映射27、CDC高级特性之中文乱码28、Hive引擎集成Paimon29、在Hive中配置Paimon依赖30、在Hive中读写Paimon31、在Hive中创建Paimon32、Hive和Paimon数据类型映射关系33Paimon底层文件基本概念34、Paimon底层文件布局35、Paimon底层文件操作详解36、Flink流式写入Paimon表过程分析37、读写性能优化详细分析38、Paimon中快照、分区、小文件的管理39、管理标签(自动管理+手工管理)40、管理Bucket(创建+删除+回滚)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流月up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值