从Azure数据工厂将数据提取到雪花

时间:2020-06-10 12:51:00

标签: azure amazon-s3 azure-data-factory snowflake-cloud-data-platform azure-databricks

问题:谁能帮助我找到一种解决方案,以在不使用蔚蓝blob存储的情况下将数据从Azure数据工厂提取到雪花表。

需求:我们现在已经在雪花表中存储了一组客户ID,我们想要遍历每个客户ID,并使用WebAPI从Amazon S3获取所有客户详细信息,并将其写回到雪花表中。当前系统使用Azure Databricks(PySpark)使用WebAPI从S3中发布客户ID和GET相关的json数据,解析json以提取我们所需的信息并将其写回到雪花中。但是,对于单个记录,此过程至少需要3秒钟,并且由于我们需要处理大量数据,并且长时间运行ADB集群,我们无法承受花费那么多时间进行数据提取。我们认为的解决方案类似于使用python Web API,而不是使用python Web API,我们可以使用azure数据工厂从s3存储桶中获取数据并将其提取到雪花表中。由于数据是客户数据,由于隐私规则,我们不打算在将数据写入雪花之前将其存储在蔚蓝Blob存储中。是否有其他方法可用于直接从s3或通过ADF将其写入雪花表?而不使用Blob存储。

2 个答案:

答案 0 :(得分:0)

您可以创建一个databricks笔记本并从s3中读取所有数据,并出于临时目的将数据存储在dbfs上,群集终止后该数据将被销毁。

ADF -> Databricks Notebook

Databricks
Read from s3 -> create a pyspark dataframe -> filter the data based on your condition -> write to snowflake

答案 1 :(得分:0)

好吧,如果您的数据已经在S3上,则可以使用https://graph.microsoft.com/v1.0/users/userid?$select=userPrincipalName 命令。 https://docs.snowflake.com/en/user-guide/data-load-s3.html