首页 > 解决方案 > Spark Cluster 中的节点是否共享相同的存储?

问题描述

我是新手。我正在使用Azure Databricks并且正在使用PySpark. 有一个特定的话题让我感到困惑:

节点是否有单独的存储内存(我不是指 RAM/缓存)?或者它们都共享同一个存储空间?如果它们共享相同的存储,那么运行在不同位置的两个不同的应用程序可以Spark Context相应地交换数据吗?

我不明白为什么有时我们用 来引用存储,而dbfs:/tmp/...其他时候我们用/dbfs/tmp/...... . 但是,如果我使用常规的 python 代码,我会说.dbutilsdbfs:/tmp/.../dbfs/tmp/

非常感谢您的帮助!!

标签: apache-sparkazure-databricks

解决方案


每个节点都有单独的 RAM 内存和缓存。例如,如果您有一个具有 4GB 和 3 个节点的集群。当您部署 Spark 应用程序时,它将根据集群配置和查询要求运行工作进程,并将在单独的节点或同一节点上创建虚拟机。在应用程序的生命周期中,这些节点内存不会在彼此之间共享。

这更多是关于 Hadoop 资源共享问题,可以从 YARN 资源管理中找到更多信息。这是非常简短的概述 https://databricks.com/session/resource-management-and-spark-as-a-first-class-data-processing-framework-on-hadoop


推荐阅读