雪花支持按小时微分区群集?

的文档通过Expressions on base columns表示支持集群和具有使用TO_DATE(时间戳)作为聚集键的例子,雪花支持按小时微分区群集?

https://docs.snowflake.net/manuals/user-guide/tables-micro-partitions.html#defining-clustering-keys-for-a-table

,确实可以作为我验证了,但对我来说,按小时簇是更好,所以按小时使用此DATE_TRUNC簇键

CREATE OR REPLACE TABLE t(

"timestamp" datetime,

... more fields

) CLUSTER BY (DATE_TRUNC('HOUR', "timestamp"));

的CREATE TABLE成功运行,但是,与复制到加载数据时,它说不是一个副本中的支持,所以通过群集支持每小时奇迹?或者是COPY命令的限制?任何人都知道解决方法?

002300 (0A000): SQL Compilation error: Function 'TRUNCTIMESTAMPTOHOUR' 

not supported within a COPY

回答:

作为一种解决方法,请尝试复制到未定义集群密钥的临时表“stg”。然后插入到目标表中:

INSERT INTO t 

SELECT * FROM stg

ORDER BY (DATE_TRUNC('HOUR', "timestamp"));

回答:

扩展斯图尔特的答案:只需执行INSERT INTO,SELECT FROM [staging区域]。

INSERT INTO DB.SCHEMA.T(timestamp, col2, ...) 

SELECT

$1::timestamp_ntz,

$2

...

FROM

@SOURCE.EXTRACTS/folder_location (FILE_FORMAT => '[file_format_name]',

PATTERN => '[regex file pattern]')

以上是 雪花支持按小时微分区群集? 的全部内容, 来源链接: utcz.com/qa/266710.html

回到顶部