我是雪花的新手,正在按照 Automating Snowpipe for Amazon S3 文档进行 POC。
这是我创建的雪管
create pipe demo_db.public.storage_to_snowflake_pipe
auto_ingest=true as copy into demo_db.public.test_table(Name) from (Select $1 FROM @demo_db.public.stage_table)file_format = (type = 'CSV' skip_header = 1);
在snowpipe 将数据加载到雪花表(test_table) 之前,是否有可能截断/删除雪花表中的数据?
提前致谢
答案 0 :(得分:0)
由于您正在截断表,我假设它是一个临时表,您将有另一个进程从中读取数据并移动到另一个表。
如果是这种情况,您可以使用 ALTER TABLE .. SWAP WITH ...
来实现您的目标。
假设您的表是 T_STAGE
并且它正在由 Snowpipe 加载,您可以创建一个具有相同结构的二级阶段表 T_STAGE_INC
SWAP 将在表之间交换数据。
在从 T_STAGE
读取数据的进程开始时,您需要运行
ALTER TABLE T_STAGE SWAP WITH T_STAGE_INC
并使用 T_STAGE_INC
作为您的来源。
处理完成后,您可以截断 T_STAGE_INC
表。
第一次运行也需要为空
答案 1 :(得分:0)
用雪花检查了这个。雪管尚不支持此功能