雪花支持按小时微分区群集?
的文档通过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