美文网首页阿里云简书FM ——十万个冷热知识
MaxCompute元数据分析冷热门表,充分优化数据模型

MaxCompute元数据分析冷热门表,充分优化数据模型

作者: 阿里云技术 | 来源:发表于2020-03-10 10:24 被阅读0次

一、需求场景分析在实际的数据平台运营管理过程中,数据表的规模往往随着更多业务数据的接入以及数据应用的建设而逐渐增长到非常大的规模,数据管理人员往往希望能够利用元数据的分析来更好地掌握不同数据表的使用情况,从而优化数据模型。

一个MaxCompute项目中经常使用的表简称为热门表,使用次数较少或者很长时间不使用的表简称为冷门表,本文将介绍如何去通过MaxCompute元数据信息去分析热门表和冷门表。二、方案设计思路MaxCompute Information_Schema提供了项目中全量的表元数据信息Tables以及包含访问表的作业明细数据tasks_history,通过汇总各个表被作业访问的次数可以获知不同表被作业使用的频度。详细步骤如下:1、热门数据通过获取tasks_history表里的input_tables字段的详细信息,然后通过count统计一定时间分区内的各个表使用次数

2、冷门数据通过tables和tasks_history里的input_tables表的作业汇总数量进行关联、排序,从而统计出各张表在规定时间内的使用次数,正序排列三、方案实现方法1、获取tasks_history表里的input_tables字段的详细信息。如下图所示:

select

inst_id ,

input_tables,

output_tables,

start_time,

end_time

from information_schema.tasks_history

where ds='20190902'limit 100;

查询数据的结果如下图所示:

发现在tasks_history表中input_tables字段格式为

["lightning.customer","lightning.orders_delta"]

所以在统计的时候需要对字段进行按逗号分割

注意:案例中的时间分区可以根据需求去调整范围,区间根据实际场景去做相应的调整

例如:Ds>='20190902' and Ds<='20190905'函数处理如下:select

--去掉input_tables 字段中开始和结尾的[]

trans_array(1,",",inst_id,replace(replace(input_tables,"[",""),"]","")) as (inst_id,input_table)

from information_schema.tasks_history

--日期可以根据实际需求去限定,这里以20190902为例

where ds='20190902' limit 100;

处理结果如下图:

2、统计热门表数据SQL编写:

select

--按表名进行统计计算

input_table

,count(distinct inst_id) table_read_num

from

(

select

--去掉input_tables 字段中开始和结尾的[]

trans_array(1,",",inst_id,replace(replace(input_tables,"[",""),"]","")) as (inst_id,input_table)

from information_schema.tasks_history

where ds='20190902'

) t

group by input_table

order by table_read_num desc

limit 1000;

结果如下图所示:

3、统计冷门表数据SQL编写:

通过tables和tasks_history里的input_tables表的作业汇总数量进行关联、排序,从而统计出各张表在规定时间内的使用次数,正序排列。

select

t1.table_schema,

t1.table_name,

--两表关联

if(t2.table_read_num is null,0,table_read_num) as table_read_num

FROM information_schema.tables t1

left join(

select

--去掉表名前后的”符号

regexp_replace(t.input_table,""","") as input_table

,count(distinct t.inst_id) table_read_num

from

(

select

--去掉input_tables 字段中开始和结尾的[]

trans_array(1,",",inst_id,replace(replace(input_tables,"[",""),"]","")) as (inst_id,input_table)

from information_schema.tasks_history

where ds='20190902' )t

group by input_table

)t2

--关联条件匹配

on concat('your_project_name.',t1.table_name)=t2.input_table

order by table_read_num desc

limit 1000;

结果如下所示:

所有的表按照使用次数进行排序

即可得到各个表的使用次数排序信息。从而去进行合理化的管理数据表。注意:SQL中的” your_project_name.”为表名前缀,客户需要参照自己的实际数据去做相应的修改调整。

查看更多:https://yqh.aliyun.com/detail/6669

上云就看云栖号:更多云资讯,上云案例,最佳实践,产品入门,访问:https://yqh.aliyun.com/

相关文章

  • MaxCompute元数据分析冷热门表,充分优化数据模型

    一、需求场景分析在实际的数据平台运营管理过程中,数据表的规模往往随着更多业务数据的接入以及数据应用的建设而逐渐增长...

  • hive元数据及相关查询

    hive 元数据的数据模型 hive元数据的查用查询语句 通过中文字段找表 根据表中文注释找表 查找该表授权的视图...

  • Excel 竞价自动统计表-Step3

    接上部分自动分析表-02 在“渠道成本表”中新建Sheet>新建数据透视表>使用此数据模型 4张表均已导入数据透视...

  • 数据分析中常用的数据模型

    关键词:常用的数据模型、常用的数据模型有哪些、数据分析师、数据分析 数据模型 一、抽样分析模型 建模方法 首先确定...

  • 认识Power BI的双向关系

    文/陆文捷 物流供应链优化分析师,Power BI爱好者 经常有伙伴会在星球中询问在数据模型中,如何通过事实表对维...

  • CPDA_数据的获取_2019-07-15

    数据分析的主要流程涵盖:数据的获取、数据预处理、数据模型分析、数据可视化等,其中数据预处理很重要,数据模型分析较为...

  • 数据库复习指南

    索引分析工具:explain 数据库优化。表很大之后,insert变得很慢,如何优化? 缓存; 分库分表; 索引;...

  • SparkSQL优化器Catalyst

    SQL优化器执行策略:规则优化和代价优化规则优化是经验式,需要对数据元数据信息充分了解,主要体现在Join;代价优...

  • Mysql索引优化

    1、单表索引优化 单表索引优化分析 创建表 建表 SQL 表中的测试数据 查询案例 查询category_id为1...

  • 数据建模目的

    目的:有序、有结构的分类组织和存储 数据模型和表的区别: 数据模型是从业务、数据存储和使用角度合理存储数据 表就是...

网友评论

    本文标题:MaxCompute元数据分析冷热门表,充分优化数据模型

    本文链接:https://www.haomeiwen.com/subject/tjiidhtx.html