问题:谁能帮我找到一种解决方案,在不使用 Azure Blob 存储的情况下将数据从 Azure 数据工厂引入雪花表。
要求:我们现在有一组存储在雪花表中的客户 ID。我们希望循环访问每个客户 ID,并使用 WebAPI 从 Amazon S3 获取所有客户详细信息,并将其写回雪花表。当前系统使用 Azure Databricks(PySpark( 使用 WebAPI 从 S3 发布客户 ID 和获取相关 json 数据,解析 json 以提取我们所需的信息并将其写回 snowflake。但是,对于单个记录,此过程至少需要 3 秒,我们不能花费那么多时间进行数据摄取,因为我们有大量的数据需要处理,并且长时间运行 ADB 集群的成本更高。我们认为的解决方案就像不使用python Web API,而是可以使用Azure数据工厂从s3存储桶获取数据并将其摄取到雪花表中。由于数据是客户数据,因此由于隐私规则,在将其写入雪花之前,我们不应将其存储在 Azure Blob 存储中。我们是否有任何其他方法可以直接从 s3 或通过 ADF 将其写入雪花表,而无需使用 blob 存储。
您可以创建一个 databricks 笔记本并从 s3 读取所有数据,并出于临时目的将数据存储在 dbfs 上,一旦集群终止,这些数据将被销毁。
ADF -> Databricks Notebook
Databricks
Read from s3 -> create a pyspark dataframe -> filter the data based on your condition -> write to snowflake
好吧,如果您的数据已经在 S3 上,您可以使用COPY INTO
命令。 https://docs.snowflake.com/en/user-guide/data-load-s3.html