【问题标题】:How to get the details of all statements executed under warehouse for previous month如何获取上个月仓库下执行的所有语句的详细信息
【发布时间】:2020-05-15 22:04:45
【问题描述】:

第 1 部分 我们有一个很小的仓库,我怎么知道一个仓库可以承受的最大负载是多少? ,否则我如何检查仓库的利用率和最大容量?

第 2 部分 我们在“仓库超载时间”条形图中看到几乎大多数状态为“正在运行”的查询,它们都没有处于排队状态,我觉得这是一个好兆头。但我在 3 月份的某个时间看到了负载图处于 1.9(运行状态)。我喜欢分析该工作量。 我们在历史选项卡中有选项来过滤基于仓库的查询,以了解在 web ui 中特定仓库下执行的语句的详细信息。我正在寻找 SQL 的替代方法,其中我可以过滤一个月中某一特定日期的详细信息行进。 (或者) 我们在历史选项卡 web ui 中是否有一个选项,以便我可以跳转到特定日期而不是继续单击底部的“继续搜索”按钮? 我正在确定过度使用/未充分使用的仓库。有人可以帮我用行业证明的方法来做这个练习。

如何识别仓库是在有效使用还是未充分使用?

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    第 1 部分:确定您的仓库是否得到了最佳利用

    老实说,这有点棘手,首先从 query_history 中确定问题区域,然后移动到该时间范围以使用 where 子句中的“仓库”和“日期”从下表中检查利用率。

    select * from "SNOWFLAKE"."ACCOUNT_USAGE"."WAREHOUSE_METERING_HISTORY"
    select * from "SNOWFLAKE"."ACCOUNT_USAGE"."WAREHOUSE_LOAD_HISTORY"
    

    #Part 2:如何分析特定月份的查询

    您可以根据需要更新以下查询(我起草只是为了验证)。 这将是您的利用率分析的完整查询。

    SELECT
    TO_CHAR(DATE_TRUNC('minute', query_history.START_TIME ), 'YYYY-MM-DD HH24:MI') AS 
    "query_history.start_time",
    query_history.QUERY_TEXT  AS "query_history.query_text",
    query_history.QUERY_TYPE  AS "query_history.query_type",
    query_history.WAREHOUSE_NAME  AS "query_history.warehouse_name",
    query_history.WAREHOUSE_SIZE  AS "query_history.warehouse_size",
    query_history.USER_NAME  AS "query_history.user_name",
    query_history.EXECUTION_TIME  AS "query_history.execution_time"
    FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY  AS query_history
    WHERE MONTH(query_history.START_TIME) ='3'
    --(query_history.EXECUTION_STATUS = 'SUCCESS') 
    --AND (query_history.WAREHOUSE_SIZE != '0')
    GROUP BY DATE_TRUNC('minute', query_history.START_TIME ),2,3,4,5,6,7
    ORDER BY 1 DESC
    

    谢谢,

    帕拉什查特吉

    【讨论】:

    • 肯定会检查这个,关于“如何识别仓库是在有效使用还是未充分使用?”的任何想法
    • 仓库利用率上有一篇非常好的雪花文章community.snowflake.com/s/article/…
    • 我很久以前读过这篇文章,它在 profiling 的 3 篇文章系列中非常好。在我的情况下,我在我的环境中没有看到太多 AVG_QUEUE_LOAD,这是否意味着仓库是最佳使用?较高的比率 avg(AVG_RUNNING) / avg(credits_used) * 100 表明仓库正在有效地使用?这是理解的方式吗?
    • 在雪花文档中发现“总查询负载在相当长的一段时间内小于1,仓库使用效率低下。您可以考虑以下任何操作:减小仓库大小。注意减少仓库大小通常会增加查询执行时间。对于多集群仓库,请减小 MIN_CLUSTER_COUNT 参数值。'
    • 如果您没有看到太多 AVG_QUEUE_LOAD ,这也可能意味着您的仓库可能未得到充分利用,您还需要验证您的 AVG_RUNNING。以一种简单的方式,如果仓库运行更多然后它正在排队,您应该检查增加大小或将作业分配到其他仓库或在集群上工作。在接听您提到的电话之前,请检查使用的信用比率是否更多,运行是否超过仓库的有效利用。如果运行较少且信用超过减少仓库自动暂停并再次进行分析
    猜你喜欢
    • 1970-01-01
    • 2020-06-19
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多