MaxCompute元数据使用实践 -- 数据下载审计

简介: 通过MaxCompute租户级别Information Schema的“TUNNELS_HISTORY”视图可以统计查看通过Tunnel通道进行数据上传下载的相关详细信息,方便您进行数据流转的审计排查。

MaxCompute的租户级别Information Schema从租户角度提供项目元数据及使用历史数据等信息,您可以一次性拉取您同一个元数据中心下所有Project的某类元数据,从而进行各类元数据的统计分析。我们在此推出系列元数据使用实践文章:

MaxCompute元数据使用实践--项目信息统计

本文主要介绍通过元数据的“TUNNELS_HISTORY”视图进行相关统计。在此之前,您如果没还使用过租户级别Information Schema,需要您先详细阅读下租户级别Information Schema文档的背景信息、功能介绍、费用介绍、费用介绍、使用限制和注意事项,避免您在使用过程中遇到不必要的问题

查看产生公网下载费用的信息

场景:近期在用户中心账单详情看到有几个项目有公网下载的费用,不符合预期,需要检查具体下载请求情况,以便进行治理。

解决方案:MaxCompute产生公网下载费用主要原因是走公网通过Tunnel Download通道成功发起了数据下载请求。您可以通过用户中心账单详分析具体的公网下载消费明细,找到具体的project和消费日期,再通过用量明细下载每天的详细使用信息,筛选数据分类为DownloadEx和InstanceDownloadEx的数据上传到MaxCompute的表,并与租户级别Information Schema的视图“SYSTEM_CATALOG.INFORMATION_SCHEMA.TUNNELS_HISTORY”进行关联查询,即可查更详细的下载请求信息。

步骤一: 下载用量明细。

image.png

  • 产品选择“大数据计算服务MaxCOmpute(按量付费)”。
  • 计量规格,看项目的默认计算Quota,如果选了按量付费的,则选“大数据计算服务MaxCompute(按量付费)”;如果选了包年包月的,则选ODPSDATAPLUS。
  • 使用时间选择产生消费的日期。


步骤二:筛选公网下载的计量信息上传到MaxCompuet表(筛选数据分类为DownloadEx和InstanceDownloadEx),建表语句如下。

CREATE TABLE IF NOT EXISTS mc_tunnel_metering 
(
    projectid STRING COMMENT '项目编号'
    ,metering_id STRING COMMENT '计费信息编号'
    ,type STRING COMMENT '数据分类,包括DownloadEx、InstanceDownloadEx'
    ,starttime STRING COMMENT '开始时间'
    ,endtime STRING COMMENT '结束时间'
    ,download BIGINT COMMENT '公网下行流量Byte'
    ,Region STRING COMMENT '地域'
);

步骤三:关联“SYSTEM_CATALOG.INFORMATION_SCHEMA.TUNNELS_HISTORY”视图查询更多的tunnel下载请求信息。

SET odps.namespace.schema = true; --若您当前租户已经开启租户级别的schema语法开关,则无需执行这个flag。
WITH a AS 
(
    SELECT  tunnel_catalog
            ,request_id
            ,object_type
            ,object_name
            ,partition_spec
            ,owner_id
            ,owner_name
            ,start_time
            ,end_time
            ,client_ip
            ,user_agent
            ,`columns`
    FROM    SYSTEM_CATALOG.INFORMATION_SCHEMA.TUNNELS_HISTORY
    WHERE   ds IN ('xxx','xxx')--对应消费日期
)
,b AS 
(
    SELECT  metering_id
            ,download
            ,region
    FROM    mc_tunnel_metering
    WHERE   download > 0
)
SELECT  a.tunnel_catalog
        ,a.request_id
        ,b.metering_id
        ,(
                    b.download / 1024 / 1024 / 1024
        ) download_gb
        ,a.object_type
        ,a.object_name
        ,a.partition_spec
        ,a.owner_id
        ,a.owner_name
        ,a.start_time
        ,a.end_time
        ,a.client_ip
        ,a.user_agent
        ,a.`columns`
        ,b.region
FROM    a
JOIN    b
ON      a.request_id = b.metering_id
;

可以通过结果中:

  • owner_name,发起请求的账号,可以找到账号的持有人。
  • tunnel_catalog/object_name/partition_spec,项目/表名或select的instance id/表分区,可以定位到具体下载的数据。
  • client_ip,客户端ip,可以查ip的归属。

通过VPC网络下载时不收取费用,您可以通过以上信息找到对应的请求业务,考虑配置成走VPC网,各地域及不同网络连接方式下的Endpoint信息,详情请参见Endpoint

统计所有数据外流情况

场景

统计每日各个项目通过tunnel通道进出的数据量。

解决方案:

通过租户级别Information Schema的视图“SYSTEM_CATALOG.INFORMATION_SCHEMA.TUNNELS_HISTORY”进行统计,sql如下。

SET odps.namespace.schema = true; --若您当前租户已经开启租户级别的schema语法开关,则无需执行这个flag。
SELECT  ds
        ,tunnel_catalog
        ,operate_type
        ,SUM(data_size) / 1024 / 1024 / 1024 s_data_size_gb
        ,SUM(length) s_length
FROM    SYSTEM_CATALOG.INFORMATION_SCHEMA.TUNNELS_HISTORY
WHERE   ds IN ('xxx','xxx')
GROUP BY ds
         ,tunnel_catalog
         ,operate_type
;

注意,operate_type值为“DOWNLOADINSTANCELOG”的类型,大多是因为跑各类sql、spark或、pyodps等任务时需要数据回显场景时会走Tunnel的Instance Download,如果需要了解详情可以结合user_agent 等其他信息查看。

小结

以上只是给出了常见的两个场景,实际上您还可以通过“SYSTEM_CATALOG.INFORMATION_SCHEMA.CATALOGS”这个视图数据统计查看更多信息以便解决您的业务场景。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
10天前
|
存储 弹性计算 大数据
【阿里云弹性计算】阿里云ECS在大数据处理中的应用:高效存储与计算实践
【5月更文挑战第23天】阿里云ECS在大数据处理中发挥关键作用,提供多样化实例规格适应不同需求,尤其大数据型实例适合离线计算。通过集成分布式文件系统如OSS,实现大规模存储,而本地存储优化提升I/O性能。弹性扩容和计算优化实例确保高效运行,案例显示使用ECS能提升处理速度并降低成本。结合阿里云服务,ECS构建起强大的数据处理生态,推动企业创新和数字化转型。
30 0
|
18天前
|
分布式计算 数据可视化 Hadoop
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
|
18天前
|
分布式计算 Java Hadoop
大数据实战——WordCount案例实践
大数据实战——WordCount案例实践
|
18天前
|
数据采集 供应链 安全
利用大数据优化业务流程:策略与实践
【5月更文挑战第11天】本文探讨了利用大数据优化业务流程的策略与实践,包括明确业务目标、构建大数据平台、数据采集整合、分析挖掘及流程优化。通过实例展示了电商和制造企业如何利用大数据改进库存管理和生产流程,提高效率与客户满意度。随着大数据技术进步,其在业务流程优化中的应用将更加广泛和深入,企业需积极采纳以适应市场和客户需求。
|
18天前
|
分布式计算 DataWorks 数据库
DataWorks操作报错合集之DataWorks使用数据集成整库全增量同步oceanbase数据到odps的时候,遇到报错,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
28 0
|
18天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在 DataWorks 中,使用Oracle作为数据源进行数据映射和查询,如何更改数据源为MaxCompute或其他类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
36 1
|
18天前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之在DataWorks中,查看ODPS表的OSS对象如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
33 1
|
18天前
|
分布式计算 DataWorks MaxCompute
DataWorks产品使用合集之在DataWorks中,将数据集成功能将AnalyticDB for MySQL中的数据实时同步到MaxCompute中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
38 0
|
18天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在DataWorks中,MaxCompute创建外部表,MaxCompute和DataWorks的数据一直保持一致如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0
DataWorks产品使用合集之在DataWorks中,MaxCompute创建外部表,MaxCompute和DataWorks的数据一直保持一致如何解决
|
18天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之在DataWorks中,从Elasticsearch同步数据到ODPS时同步_id字段的如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
30 0

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute