详情页标题前

阿里云云原生大数据计算服务 MaxComputeCOMPACTION-云淘科技

详情页1

Compaction可以把所有的数据文件按照一定策略进行Merge操作,可提升查询效率。

功能介绍

Transactional Table 2.0支持近实时增量写入和timetravel查询特性,在数据频繁写入的场景中,必然会引入大量的小文件,需要设计合理高效的合并策略来对小文件进行合并以及数据去重,解决大量小文件读写IO低效以及缓解存储系统的压力,但也要避免频繁Compact引发严重的写放大和冲突失败。

目前主要支持两种数据合并方式:

  • Clustering:只是把Commit的DeltaFile合并成一个大文件,不改变数据内容。系统内部会根据新增的文件大小、文件数量等因素周期性地执行,不需要用户手动操作。主要解决小文件IO读写效率和稳定性问题。

  • Compaction:会把所有的数据文件按照一定策略进行Merge操作,生成一批新的BaseFile,相同PK的数据行只存储最新的状态,不包含任何历史状态,也不会包含任何系统列信息,因此BaseFile本身不支持timetravel操作,主要用于提升查询效率。支持用户根据业务场景主动触发,也支持通过设置表属性由系统周期性自动触发。

命令格式

alter table  [partition 
                          ( = '' [, ...])
                         ] 
                         compact major;

注意事项

  • 手动执行Compaction需要依赖设置一个flag。

     set odps.merge.task.mode=service;
  • Compaction会产生新的文件,虽然可以提升查询效率,但也要承担对应的数据文件存储成本,您需要根据业务场景进行权衡,选择合适的触发频率。

使用示例

--创建表
create table mf_tt2 (pk bigint not null primary key, val bigint not null) 
             partitioned by (dd string, hh string) 
             tblproperties ("transactional"="true");
--插入数据            
insert into table mf_tt2 partition(dd='01', hh='01') values (1, 1), (2, 2);
insert into table mf_tt2 partition(dd='01', hh='01') values (2, 20), (3, 3);
insert into table mf_tt2 partition(dd='01', hh='01') values (3, 30), (4, 4);

--执行compaction,以及操作完成后,可继续查询历史数据。
set odps.merge.task.mode=service;
set odps.merge.quickmerge.flag=false;
alter table mf_tt2 partition(dd='01', hh='01') compact major;
select * from mf_tt2 timestamp as of get_latest_timestamp('tt2') where dd='01' and hh='01';
select * from mf_tt2 timestamp as of get_latest_timestamp('tt2', 2) where dd='01' and hh='01';

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158947.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云日志服务SLS拓扑图-云淘科技

    本文介绍拓扑图的相关配置。 简介 拓扑图是一种全局系统级别的观测视图,用于直观地描述模块或应用之间的依赖关系以及总体概况信息。 日志服务采集到拓扑数据后,会解析数据并将其结构化,拓扑数据样例如下图所示。您可以通过child、parent字段粗略获得不同模块或应用之间的依赖关系,但并不直观。 针对上述拓扑数据,日志服务支持您通过查询和分析语句获取描述拓扑关系的…

    2023年12月10日
  • 阿里云日志服务SLS编辑模式-云淘科技

    您可以在仪表盘的编辑模式下,进行添加图表、调整布局、编辑图表、导入图表、修改仪表盘名称等操作。 前提条件 已创建仪表盘。具体操作,请参见创建仪表盘。功能入口重要 编辑模式下的所有操作,都必须保存后才会生效,即在仪表盘页面的右上方单击保存。 仪表盘为网格布局或自由布局时,所支持的操作略有不同,以实际界面为准。 登录日志服务控制台。 进入仪表盘页面。 在Proj…

    2023年12月10日
  • 阿里云大数据开发治理平台 DataWorks数据可视化展现-云淘科技

    本文为您介绍如何通过DataWorks数据分析实现用户画像数据可视化展示。 前提条件 在开始试验前,请确认您已经完成了加工数据。即已通过数据开发DataStudio将数据加工为用户画像基本数据。 数据分析场景 本案例通过数据分析对用户画像数据进行可视化与分析,具体分析场景如下: 场景 图示 城市注册人数排行榜分析 注册会员访问次数年龄分布 注册会员访问次数性…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云ECS云服务器ResetDisk-云淘科技

    调用ResetDisk使用云盘的历史快照回滚至某一阶段的云盘状态。 接口说明 调用该接口时,您需要注意: 云盘的状态必须为使用中(In_Use)或空闲(Available)的状态。 云盘挂载的实例的状态必须为已停止(Stopped)。您可以调用StopInstances停止实例。 指定的参数SnapshotId必须是由DiskId创建的历史快照。 通过Des…

    阿里云服务器 2023年12月9日
  • 阿里云RDS数据库CreateGADInstance – 创建GAD实例-云淘科技

    该接口用于创建RDS全球多活数据库集群。 接口说明 适用引擎 RDS MySQL 相关功能文档 注意 使用该接口前,请仔细阅读功能文档,确保完全了解使用接口的前提条件及使用后造成的影响后,再进行操作。 创建与释放全球多活数据库集群 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explore…

    阿里云数据库 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。