【问题标题】:How should I get snowpipe auto-ingest working?我应该如何让雪管自动摄取工作?
【发布时间】:2021-01-15 11:03:05
【问题描述】:

以下是我的雪管定义

create or replace pipe protection_job_runs_dms_test auto_ingest = true as
copy into protection_job_runs_dms_test_events from (select t.$1, t.$2, t.$3, t.$4, t.$5, t.$6, t.$7, t.$8, t.$9, t.$10, t.$11, t.$12, t.$13, t.$14, t.$15, t.$16,
t.$17, t.$18, t.$19, t.$20, t.$21, t.$22, t.$23, t.$24, current_timestamp from @S3DMSTESTSTAGE t)
FILE_FORMAT = ( 
    FIELD_OPTIONALLY_ENCLOSED_BY='"'
)
pattern='dmstest/(?!LOAD).*[.]csv';

当我手动执行复制命令时,它工作正常。

有人知道可能是什么问题吗?

【问题讨论】:

  • 您是否设置了设置 SQS 通知并确定它正在工作?
  • @NickW 我已经设置了 SQS 通知。如何验证它是否工作?
  • 您想两次加载相同的文件吗?没有 Snowpipe,然后使用 Snowpipe?
  • 嗨 - 我在您的 PIPE 定义中没有看到 AWS_SNS_TOPIC 参数。另外,请参阅@Marcel 的评论:如果您已经加载了数据,则不会在不使用 FORCE 参数的情况下重新加载
  • @Marcel 不。我只是在没有雪管的情况下测试它。我想用 Snowpipe 自动摄取来实际加载它。

标签: amazon-s3 snowflake-cloud-data-platform


【解决方案1】:

关于您的问题的 cmets,您通过在没有 Snowpipe 的情况下加载相同的文件来测试您的 COPY 命令。这意味着您的文件已加载一次,因此您无法在之后使用 Snowpipe 加载它们。原因:Snowflake 默认阻止加载文件两次。

您可以将 FORCE=true 参数添加到您的 COPY 命令中以防止这种行为并加载所有文件 - 无论它们是否已加载。

更多关于 FORCE 参数的信息在这里:https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html

create or replace pipe protection_job_runs_dms_test auto_ingest = true as
copy into protection_job_runs_dms_test_events from (select t.$1, t.$2, t.$3, t.$4, t.$5, t.$6, t.$7, t.$8, t.$9, t.$10, t.$11, t.$12, t.$13, t.$14, t.$15, t.$16,
t.$17, t.$18, t.$19, t.$20, t.$21, t.$22, t.$23, t.$24, current_timestamp from @S3DMSTESTSTAGE t)
FILE_FORMAT = ( 
    FIELD_OPTIONALLY_ENCLOSED_BY='"'
)
pattern='dmstest/(?!LOAD).*[.]csv'
force=true;

【讨论】:

  • 我同意你的观点。但是在我的设置中,我在手动加载文件后删除了这些文件。甚至删除了表和管道并重新创建了它们。之后,我再次上传了文件。管道没有自动摄取它们!
  • 另外,雪管中似乎不支持 force=true 选项! docs.snowflake.com/en/sql-reference/sql/create-pipe.html
  • 哦,是的,你是对的。也许“解决方法”下的这些提示对您有所帮助:docs.snowflake.com/en/user-guide/…
  • 另一个想法:也许您的 Snowpipe 被设置为意外暂停。您可以使用 ALTER PIPE 将其更改为恢复:docs.snowflake.com/en/sql-reference/sql/alter-pipe.html
  • 管道正在运行。这是管道的状态 {"executionState":"RUNNING","pendingFileCount":0,"notificationChannelName":"arn:aws:sqs:us-east-2:634443784403:sf-snowpipe-AIDAZHN6L4DJ5COBUI7KG-YUNEXICr7uzruI9GrubqGw", "numOutstandingMessagesOnChannel":0,"lastReceivedMessageTimestamp":"2021-01-18T09:01:00.322Z","lastForwardedMessageTimestamp":"2021-01-18T09:01:00.361Z"}
猜你喜欢
  • 2017-01-06
  • 1970-01-01
  • 1970-01-01
  • 2021-06-25
  • 2011-06-07
  • 2015-01-29
  • 2013-04-05
  • 2010-09-23
  • 1970-01-01
相关资源
最近更新 更多