MaxCompute的租户级别Information Schema从租户角度提供项目元数据及使用历史数据等信息,您可以一次性拉取您同一个元数据中心下所有Project的某类元数据,从而进行各类元数据的统计分析。我们在此推出系列元数据使用实践文章。
本文主要介绍通过元数据的“CATALOGS”视图进行项目的相关统计。在此之前,您如果没还使用过租户级别Information Schema,需要您先详细阅读下租户级别Information Schema文档的背景信息、功能介绍、费用介绍、使用限制和注意事项,避免您在使用过程中遇到不必要的问题。
统计所有项目的备份恢复功能配置大于1天的项目
场景:
由于近期发现备份恢复存储费用增长较快,通过MaxCompute控制台的“成本分析”发现有好几个项目都产生了这项费用且都超出预期,因此需要盘点下哪些项目配置了备份大于1天,以及需要拿到详细的项目列表进行核对评估。
解决方案:
可以通过租户级别Information Schema的视图“SYSTEM_CATALOG.INFORMATION_SCHEMA.CATALOGS”查看并获取数据,查询语句如下。
SET odps.namespace.schema = true; --若您当前租户已经开启租户级别的schema语法开关,则无需执行这个flag。 SELECT catalog_name ,create_time ,region ,get_json_object(json_parse(settings),'$."odps.timemachine.retention.days"') timemachine_retention_days FROM SYSTEM_CATALOG.INFORMATION_SCHEMA.CATALOGS ;
查看所有项目的IP白名单配置情况
场景
由于安全需求升级,要求只能通过指定的ip访问MaxCompute的数据,日常需要排查各个项目的ip白名单设置情况。
解决方案
可以通过租户级别Information Schema的视图“SYSTEM_CATALOG.INFORMATION_SCHEMA.CATALOGS”查看并获取数据,查询语句如下:
SET odps.namespace.schema = true; --若您当前租户已经开启租户级别的schema语法开关,则无需执行这个flag。 SELECT catalog_name ,create_time ,region ,get_json_object(json_parse(settings),'$."odps.security.ip.whitelist"') ip_whitelist ,get_json_object(json_parse(settings),'$."odps.security.vpc.whitelist"') vpcip_whitelist FROM SYSTEM_CATALOG.INFORMATION_SCHEMA.CATALOGS;
查看所有项目是否都已经设置好消费限制
场景
近期有费用突增,通过MaxCompute控制台的“成本分析”发现是按量付费的某个项目的SQL费用项突增,经过检查发现是有些非必要的大sql执行产生,并得知可以通过对项目配置单sql消费上限来限制一些非必要的大作业,因此需要总体盘点下所有项目这个属性的设置情况。
解决方案
可以通过租户级别Information Schema的视图“SYSTEM_CATALOG.INFORMATION_SCHEMA.CATALOGS”查看并获取数据,查询语句如下:
SET odps.namespace.schema = true; --若您当前租户已经开启租户级别的schema语法开关,则无需执行这个flag。 SELECT catalog_name ,create_time ,region ,get_json_object(json_parse(settings),'$."odps.sql.metering.value.max"') sql_metering_value_max FROM SYSTEM_CATALOG.INFORMATION_SCHEMA.CATALOGS;
小结
以上只是给出了常见的几个场景,实际上您还可以通过“SYSTEM_CATALOG.INFORMATION_SCHEMA.CATALOGS”这个视图数据统计查看更多信息以便解决您的业务场景。