使用 Azure 数据工厂将数据从 Azure Data Lake 无阶段复制到 SnowFlake

Copy Data from Azure Data Lake to SnowFlake without stage using Azure Data Factory

将数据从 Azure Data Lake Gen 2 复制到 SnowFlake 的所有 Azure 数据工厂示例都使用存储帐户作为阶段。如果未配置阶段(如图所示),即使我的源是 Azure 数据湖中的 csv 文件,我也会在数据工厂中收到此错误 - “仅当源数据集为 DelimitedText、Parquet 时才支持将数据直接复制到 Snowflake, JSON 使用 Azure Blob 存储或 Amazon S3 链接服务,对于其他数据集或链接服务,请启用暂存”。

同时,SnowFlake 文档说外部阶段是可选的。如何在没有外部存储帐户作为阶段的情况下使用数据工厂的复制数据 Activity 将数据从 Azure Data Lake 复制到 SnowFlake? 如果需要暂存存储使其工作,我们不应该说支持从 Data Lake 到 SnowFlake 的数据复制。仅当 Data Lake 数据首先复制到存储 blob 中,然后复制到 SnowFlake 时,它​​才有效。

您必须配置 blob 存储并将其用作分段。作为替代方案,您可以使用外部阶段。您必须创建文件类型和通知集成并访问 ADLS 并使用复制命令将数据加载到雪花中。如果您需要更多帮助,请告诉我。

尽管 Snowflake 支持 blob 存储、Data Lake 存储 Gen2、通用 v1 和 v2 存储,loading data into snowflake is supported- through blob storage only

The source linked service is Azure Blob storage with shared access signature authentication. If you want to directly copy data from Azure Data Lake Storage Gen2 in the following supported format, you can create an Azure Blob linked service with SAS authentication against your ADLS Gen2 account, to avoid using staged copy to Snowflake.

Select 链接服务中的 Azure blob 存储,提供 SAS URI Azure data lake gen2 源文件的详细信息。

带有数据湖 gen2 文件的 Blob 存储链接服务: