为啥 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 中不起作用?

从 Azure Databricks 将数据写入 Azure Blob 存储

在 Azure Databricks 中编写 spark 数据框