全部产品
Search
文档中心

开源大数据平台E-MapReduce:查询管理与分析

更新时间:Nov 05, 2024

EMR StarRocks Manager针对您提交的查询(Query)记录提供诊断与分析的能力,能够对您提交的SQL查询进行详细记录和分析。它不仅支持展示所有执行的SQL任务记录,还支持慢查询分析,重点关注时间消耗较长的查询,以帮助您识别性能瓶颈,优化查询效率。

前提条件

已创建StarRocks实例,详情请参见创建实例

功能介绍

  • SQL任务:包含了已完成任务和运行中任务。

    • 已完成任务:该功能全面汇总展示系统内已完成查询状态的视图,涵盖了已完成的查询、查询失败的,以及预发错误的查询记录。您可以通过这一界面获取系统的整体查询情况,以便于进行深入分析和管理。但请注意,此功能可能受到以下限制。

      说明
      • 数据长度限制:对于记录在查询列表中的单个字段,存储值的最大长度为65535字节。

      • 时间范围限制:仅展示近30天数据。如果您需要查看所有的查询记录,请参见审计日志

    • 运行中任务:此功能模块着重展示当前正在执行的大型或复杂的查询。此类查询通常涉及到大规模数据处理、复杂的计算操作,或是跨多个数据库的交互。之所以关注运行中大查询,是因为这些查询可能会大量占用CPU、内存及IO等计算资源,从而影响系统中其他查询的性能。因此,对这类查询进行实时监控是维护系统稳定性及保证响应速度的有效措施。

  • 慢查询:该功能集中展示了StarRocks实例中执行时间较长且可能存在性能瓶颈的查询。通过对慢查询的识别与跟踪,您可以精准定位影响数据库效率的问题所在,并采取相应的优化措施。

    说明
    • EMR StarRocks Manager慢查询页面默认支持的耗时最小值为5000ms。

    • 慢查询当前支持的SQL类型只包含您提交的SELECT Query语句。

    • StarRocks默认为您保留30天或者一万条的慢查询记录,您可以借助页面提供的过滤条件做精准过滤。

进入查询页面

SQL任务

  1. 进入StarRocks Manager页面。

    1. 登录E-MapReduce控制台

    2. 在左侧导航栏,选择EMR Serverless > StarRocks

    3. 在顶部菜单栏处,根据实际情况选择地域。

    4. 单击StarRocks Manager,或者单击已创建实例操作列的连接实例

      连接StarRocks实例详情,请参见通过EMR StarRocks Manager连接StarRocks实例

  2. 在左侧导航栏,选择诊断与分析 > SQL任务

  3. 已完成任务运行中任务页签,单击查询ID。

    • 已完成任务:您可以查看SQL内容、任务状态和耗时等信息,还可以通过查询用户、SQL类型(例如,DQL、DML、DDL或DCL)以及数据库等维度对信息进行筛选。

    • 运行中任务:您可以直观监测到大查询操作的各项关键性能指标,包括扫描的数据总量、已处理行数以及CPU和内存的耗时情况。

慢查询

  1. 在左侧导航栏,选择诊断与分析 > 慢查询

  2. 慢查询页面,单击待查看的查询ID,进入该查询的详情页面。

    查询的详细介绍请参见查询详情

查询详情

慢查询列表页面中,单击对应的查询ID,即可进入该查询的详情页面。您可以查看以下内容。

  • 查询详情

    展示了查询的基本信息和SQL详情。

  • 查询计划(Query Plan)

    Query Plan是FE通过解析SQL生成的,负责组织算子(Join、Order、Aggregation)之间的关系,可以为数据库管理者提供一个宏观的视角,从而获取查询执行的相关信息。

  • 执行详情(Query Profile)

    Query Profile是BE执行查询后的结果,包含了每一步的耗时和数据处理量等数据反映了查询的性能。StarRocks Manager支持对Profile进行可视化分析,详情请参见Query Profile介绍

重要
  1. Profile通常用于对慢查询的诊断分析场景,Serverless StarRocks实例默认未开启Profile,如需开启Profile,建议在Session级别进行设置set enable_profile=true。如需查看是否开启了Profile,可以通过show variables like '%enable_profile%'命令查看。

  2. 在生产环境中,不建议全局开启Profile,因为开启Profile可能会影响SQL端到端的响应时间。

导出查询信息

在分析查询结果时,您可能需要将特定查询导出至本地进行进一步处理。阿里云EMR Serverless StarRocks支持筛选和导出特定时间范围内的查询信息。

您可以在SQL任务慢查询列表页面中,根据运行状态、执行时间、日期范围、耗时等条件进行筛选,然后单击导出,以便将查询信息保存至本地。