栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

MaxCompute分区数达到上限处理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MaxCompute分区数达到上限处理

背景

阿里云平台MaxCompute的表分区数有60000个的限制,如果达到这个上限,MaxCompute的表便无法新增分区,线上任务会执行失败。

解决方案

可以通过程序自动监控项目空间中表对应的分区数,如果接近上限就进行报警。

  • 如果用阿里云的DataWorks平台的自带功能,可以通过“数据质量”模块监控分区统计结果数,如果大于预警值则进行报警。
  • 如果是通过手动写代码的方式,可以自定义Python或者其他脚本,通过程序判断表的分区数,如果大于预警值则进行报警。
解决步骤 查看分区数

查询MaxCompute表对应分区数SQL如下:

-- 查询项目分区元数据信息
SELECt * FROM Information_Schema.partitions;
-- 查看表对应分区数量
SELECt table_name,COUNT(partition_name) AS partition_num
FROM Information_Schema.partitions
WHERe table_schema='project_name'
GROUP BY table_name;
统计接近上线的分区
-- 查询分区数大于55000的的表
SELECt table_name,COUNT(partition_name) AS partition_num
FROM Information_Schema.partitions
WHERe table_schema='project_name'
GROUP BY table_name
HAVINg COUNT(partition_name) > 55000;
按分区归档数据
-- 按分区归档历史数据至备份表
INSERT OVERWRITE TABLE table_bak(partition_name)
SELECt
	FIELD
FROM table_name
WHERe partition_name 
删除归档数据分区 
-- 将归档后的数据分区删除
ALTER TABLE table_name DROP IF EXISTS PARTITION(partition_name
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977160.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号