开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks中API、desc、数据地图,这3个怎么对起来?

我在DataWorks中对API、desc和数据地图这三个的关系感到困惑:API和数据地图似乎相差了5倍压缩,但我不确定是否是这样的。而desc和API查询出来的数据似乎相差了3倍,我猜可能是3个副本,但是并不是绝对的3倍,麻烦详细说明下怎么3个地方计算出来一致呢?或者哪个地方的数据是最准确的?

展开
收起
真的很搞笑 2023-12-30 14:13:54 79 0
4 条回答
写回答
取消 提交回答
  • 查了一下 ,手动点击 页面的存量量刷新了。
    1: 点击刷新后,数据地图更新了存储量。 所以页面获取的是最新的存储量。
    2: pop api 获取的是 t+1 的存储量数据。
    导致结果不一致 后面我们会优化下 改成保持一致 ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-12-30 17:36:05
    赞同 展开评论 打赏
  • 在阿里云DataWorks中,API、desc和数据地图这三个来源的数据量计算可能存在差异的原因主要在于它们统计和展示数据的方式不同:

    1. API

      • 通常指的是通过MaxCompute的SDK或Open API查询表的大小。MaxCompute中的表存储是按行存储并经过压缩的,所以实际物理存储空间与原始未压缩数据量之间存在压缩比。
      • MaxCompute采用列式存储,并且对数据进行了高效的压缩,因此API返回的表大小应该是已压缩后的存储量。
    2. DESC

      • 在SQL命令行或者DataWorks中使用DESC TABLE命令查看表结构时,可能并不会直接显示表的总存储大小,而是展示表的字段信息等元数据内容。不过,在某些情况下,DESC可能会提供关于分区的大小信息,这些信息同样会受到压缩的影响。
    3. 数据地图

      • 数据地图通常用于可视化数据资产,展示各个表之间的关系以及整体数据分布情况。它提供的存储量可能是基于MaxCompute内部统计的压缩后数据总量,也可能考虑了副本因素(比如HDFS的3副本机制)。

    由于MaxCompute的实际存储逻辑复杂,包括了数据压缩、副本策略等因素,上述三个来源获取的数据大小可能不会完全一致。一般建议以MaxCompute官方API返回的存储量为准,因为它直接反映了当前集群内表的实际占用存储资源的情况。同时,对于多副本系统,需要了解其具体的副本策略来解释数据大小的差异。

    若要获得更精确的一致性数据,请确保在比较时:

    • 对于压缩:参考MaxCompute文档了解其压缩算法和估算压缩比的方法。
    • 对于副本:确认MaxCompute或其他存储服务是否使用了多副本机制,以及如何计算单个表在多副本环境下的总存储量。
    2023-12-30 17:32:48
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在DataWorks中,API、desc和数据地图是三个不同但相互关联的功能模块。它们分别扮演不同的角色,但又相互补充,共同为用户提供全面的数据服务与管理能力。

    1. 数据地图:数据地图是一个企业数据目录管理模块,它基于元数据提供全局数据检索、元数据详情查看、数据预览、数据血缘和数据类目管理等功能。通过数据地图,用户可以更好地查找、理解和使用数据。此外,数据地图还支持对当前租户下所有工作空间的数据服务API进行搜索和定位,实现数据服务API的高效查找。

    2. API:DataWorks提供灵活轻量、安全稳定的数据API构建平台。数据服务作为数据库和数据应用之间的“桥梁”,旨在为个人、团队与企业提供全面的数据服务与共享能力。用户可以通过数据服务快速将数据表生成API,或将已有API注册至数据服务平台统一发布、管理。

    3. desc:desc是SQL语句中用于描述表的结构的关键字。在DataWorks中,desc可以帮助用户查看表的详细信息,包括字段名、字段类型、注释等。

    为了确保这三个地方的计算结果一致,您需要注意以下几点:

    • 确保使用的SQL语法相同,特别是涉及到计算的部分。
    • 检查数据的分区和存储格式是否相同,这可能会影响查询速度和结果。
    • 如果使用了缓存或索引,确保这些设置在三个地方都是一致的。

    总之,虽然API、desc和数据地图可能在某些情况下显示出不同的查询结果或性能,但它们都是为了提供更好的数据服务和管理而设计的。为了确保一致性,建议您始终在同一环境中进行操作和比较,并遵循最佳实践来优化查询性能。

    2023-12-30 15:42:31
    赞同 展开评论 打赏
  • 在阿里云DataWorks中,API、desc(表描述信息)、数据地图这三个概念分别代表不同的功能和数据视图:

    1. API

      • DataWorks提供的API接口可以用来获取项目中的元数据信息、任务状态、数据量大小等。例如,如果使用API查询表的数据量,返回的结果可能是实际存储的数据总量,包括压缩后的数据量。
    2. DESC

      • 在SQL语句中,DESC table_name通常用于查看表的结构描述,不直接提供数据量信息。但在某些数据库系统中,DESCRIBE EXTENDED或类似命令可能会包含表的统计信息,如行数。你提到的“desc”与API查询结果差异可能来自不同类型的统计或者计算方式。
    3. 数据地图

      • 数据地图是DataWorks中展示数据资产关系和概览的一个可视化工具,它能显示表之间的关联关系以及表的大致数据规模。但请注意,数据地图展示的数据量可能是基于某一时间点的快照信息,或者进行了某种形式的预估和汇总,所以它显示的数据量可能与API查询的实际数据量存在一定的偏差。

    针对你的疑惑,关于数据量不一致的问题,有以下几种可能性:

    • 压缩率问题:如果是MaxCompute(原ODPS)这类支持数据压缩的存储服务,API返回的可能是压缩后存储的数据量,而数据地图可能为了展示方便,采用的是未压缩前的近似值。

    • 副本因素:部分分布式存储系统如Hadoop HDFS或部分云服务的存储会存在多副本机制以保证数据高可用性,3倍的数量差异有可能是因为这个原因。但并非所有情况都是3倍,具体取决于系统的复制策略。

    • 统计更新滞后:无论是API还是数据地图展示的数据量,都依赖于底层系统的统计数据,这些统计信息可能存在一定的延迟更新,导致与实际数据量有所出入。

    解决方法和确认一致性的方式:

    • 检查数据源的实际情况:通过底层数据存储服务的管理界面或相应的统计API来获取准确的数据量信息。

    • 等待统计信息刷新:确保API调用和数据地图展示的是最新的统计信息。

    • 参照官方文档:查阅DataWorks相关API文档,了解其返回的数据量指标是如何计算的,同时确认数据地图上的数据量统计规则。

    2023-12-30 15:35:41
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 热门讨论

    热门文章

    相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载