通过Azure Blob存储在Snowflake中复制数据

通过Azure Blob存储在Snowflake中复制数据,azure,snowflake-cloud-data-platform,Azure,Snowflake Cloud Data Platform,我正在尝试复制到blob存储,然后再复制出blob存储。将副本转换为作品: 抄袭azure://my_blob_url.blob.core.windows.net/some_folder/MyTable' 从选择* 从MyTable 其中条件='true' 凭据=azure_sas_令牌='我的令牌'; 但复制失败: 复制到MyTable中 从'azure://my_blob_url.blob.core.windows.net/some_folder/MyTable' 凭据=azure_sas_

我正在尝试复制到blob存储,然后再复制出blob存储。将副本转换为作品:

抄袭azure://my_blob_url.blob.core.windows.net/some_folder/MyTable' 从选择* 从MyTable 其中条件='true' 凭据=azure_sas_令牌='我的令牌'; 但复制失败:

复制到MyTable中 从'azure://my_blob_url.blob.core.windows.net/some_folder/MyTable' 凭据=azure_sas_令牌='我的令牌'; 错误是:

SQL编译错误:副本中不支持函数“EXTRACT”

奇怪的是,它曾经起过作用,但从那以后就没有起过作用。我不知所措,没有任何细节

我知道有一种方法我可以使用stage,但我不想这样做,因为有很多原因,即使我尝试使用stage,也会出现同样的错误

编辑:

群集密钥定义为:

按idLocal、年、月、子字符串IDGLOBAL、0、1进行聚类


其中idLocal和idGlobal是varchar,_ts是TIMESTAMPTZ

我想我以前看到过,表上有一个集群键,我认为COPY-INTO不支持这个键。错误中显示的提取函数是表中的群集的一部分


这是一种预感,但假设您的所有表都没有出现这种情况,希望它能导致对表配置的调查,也许这会有所帮助。

我想我以前见过在表上使用集群键的情况,我认为复制到不支持这种情况。错误中显示的提取函数是表中的群集的一部分


这是一种预感,但假设您的所有表都没有出现这种情况,希望它能导致对表配置的调查,也许这会有所帮助。

Alex您可以尝试在目标表上的集群键中使用不同的函数,如date\u trunc'day',\t

谢谢
Chris

Alex您可以尝试在目标表的集群键中使用不同的函数,如date_trunc'day',\ts吗

谢谢
Chris

谢谢,我们确实在这个特定的表上使用了集群。我想知道是否有办法解决这个问题?但这并不能解释为什么它在一个随机时间内工作。也许你的群集密钥是在一个随机时间之后添加的?另外,您可以共享群集密钥的定义吗?您可以选择先使用其他函数或将文件加载到临时表中。不,之后没有添加群集键,我知道这是100%确定的。@MikeWalton我已经用群集键定义更新了问题。谢谢,我们在这个特定表上使用群集。我想知道是否有办法解决这个问题?但这并不能解释为什么它在一个随机时间内工作。也许你的群集密钥是在一个随机时间之后添加的?另外,您可以共享群集密钥的定义吗?您可以选择使用不同的函数,或者先将文件加载到临时表中。不,之后没有添加群集键,我知道这是100%确定的。@MikeWalton我已经用群集键定义更新了问题。当然,Chris,这会导致类似的问题:SQL编译错误:COPYSure Chris中不支持函数“TRUNCTIMESTAMPTOYEAR”,这会导致类似的问题:SQL编译错误:副本中不支持函数“TRUNCTIMESTAMPTOYEAR”