Snowpipe 支持从 GCS(google 云存储)外部阶段加载数据

Snowpipe support for loading data from GCS (google cloud storage) external stage

(一个值得在本论坛发帖的用户提出的一个有趣的问题)


我们正在尝试从 GCS 获取数据,并希望使用 Snowpipe REST API 来执行此操作,但目前我们没有成功。你们能否告诉我们 GCS 是否支持 Snowpipe(连续加载以及通过 REST 端点触发)。另外,如果不支持,我们能否知道 GCS 何时支持 Snowpipe 的时间表。

(以下回答由雪花技术客户经理原创)


GCS 目前不支持 snowpipe。它计划在未来使用。对于时间线,我们需要与 Snowflake 支持取得联系。

https://community.snowflake.com/s/article/3-27-Release-Notes-June-4-2019

虽然不是 Snowpipe,但您可以通过利用一些原生 GCP 功能在 GCP 存储桶中自动加载文件,我可以通过以下三个步骤完成此操作:

1、创建 GCP PubSub 主题 - 说明:https://cloud.google.com/pubsub/docs/admin

2、创建一个GCP"Cloud Function"下发copy into命令,参考这篇文章: https://medium.com/@phil.goerdt/automating-your-snowflake-database-cloning-with-gcp-b30a84f04b6d

进一步说明:https://cloud.google.com/functions/docs/quickstart-console

3,在您的存储桶上创建一个 GCP "Notification",这是 "trigger",当文件到达或在您的 GCS 存储桶上更新时将被调用。

gsutil notification create -t projects/gcpProjectNameHere/topics/gcpTopicNameHere -e OBJECT_FINALIZE -f json -p parentBucketFolder/childBucketFolder/ gs://gcpBucketNameHere

虽然不如 Snowpipe 酷,但应该可以用,祝你好运!