为啥 Azure Databricks 需要将数据存储在 Azure 的临时存储中
Posted
技术标签:
【中文标题】为啥 Azure Databricks 需要将数据存储在 Azure 的临时存储中【英文标题】:Why Azure Databricks needs to store data in a temp storage in Azure为什么 Azure Databricks 需要将数据存储在 Azure 的临时存储中 【发布时间】:2020-11-22 06:33:34 【问题描述】:我正在关注有关使用 azure databricks 进行数据转换的教程,它说在将数据加载到 azure synapse analytics 之前,由 azure databricks 转换的数据将先保存在 azure blob 存储中的临时存储上,然后再加载到 azure synapse analytics。为什么需要在加载到 Azure 突触分析之前将其保存到临时存储中?
【问题讨论】:
如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢。 【参考方案1】:Azure 存储容器在读取或写入 Azure Synapse 时充当存储批量数据的中介。 Spark 使用内置连接器之一连接到存储容器:Azure Blob 存储或 Azure Data Lake Storage (ADLS) Gen2。
以下架构图显示了如何通过每个计算节点上的数据移动服务 (DMS) 服务的每个 HDFS 网桥连接到 Azure Blob 存储等外部资源来实现这一点。 PolyBase 然后在 SQL 数据仓库和提供快速加载性能的外部资源之间双向传输数据。
使用 PolyBase 提取、加载和转换数据 为 SQL 数据仓库实施 PolyBase ELT 的步骤如下:
-
将源数据提取到文本文件中。
将数据加载到 Azure Blob 存储、Hadoop 或 Azure Data Lake Store。
将数据导入
使用 PolyBase 的 SQL 数据仓库临时表。
转换数据(可选)。
将数据插入生产表。
【讨论】:
以上是关于为啥 Azure Databricks 需要将数据存储在 Azure 的临时存储中的主要内容,如果未能解决你的问题,请参考以下文章
为啥我不能从 azure data studio 或 databricks 查询突触无服务器视图?
将数据存储到 PySpark (Azure - DataBricks) 中的数据库非常慢
将数据从 Databricks 加载到 Azure SQL 时的性能问题
为啥这个简单的 SQL 代码在 Azure Databricks 中不起作用?