【问题标题】:Snowflake: $SYS_FACADE in INFORMATION_SCHEMA.COLUMNS雪花:INFORMATION_SCHEMA.COLUMNS 中的 $SYS_FACADE
【发布时间】:2021-02-16 09:37:20
【问题描述】:

我正在查询 INFORMATION_SCHEMA.COLUMNS,对于具有 AVG() 聚合的列的 MATERIALIZED VIEWS,我总是会为一个现有的具有 COLUMN_NAME 的列获得两行,如下所示:

  • PROFIT_AVG$SYS_FACADE$0
  • PROFIT_AVG$SYS_FACADE$1

首先,SYS_FACADE 是什么意思? 其次,我如何过滤重复行,因为它们具有不同的精度/比例值,它会是 SYS_FACADE$1?

感谢您的任何建议!

【问题讨论】:

    标签: snowflake-cloud-data-platform materialized-views information-schema


    【解决方案1】:
    1. 雪花中的数字数据类型的标度为“0”(小数点右侧的数字),而浮点数在平均值的情况下将保持有效的更高标度值。这是处理平均计算的雪花内部方式。 2.您可以在 UI 的“MV 定义”中看到,它会自动生成 2 列(注释为内部聚合)。 3.您为什么要过滤列。

    【讨论】:

    • 谢谢!我想知道为什么我可以在 SELECT 中使用一个真实列的两个内部列。我需要查询目录来自动生成 SELECT 语句,所以我需要真正的列列表来代替..
    • 这就是 snowlfkae 的内部功能。
    • 在这种情况下,您可以尝试以下查询列列表: select table_name,max(split_part(column_name,'$SYS_FACADE$',1)) column_name from information_schema.columns where table_name = 'MV_AVG' --用table_name,split_part(column_name,'$SYS_FACADE$',1)替换你的MV名称组;
    猜你喜欢
    • 1970-01-01
    • 2021-10-15
    • 2020-03-03
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多