Spark Cluster中的节点是否共享相同的存储?

时间:2019-10-18 14:42:59

标签: apache-spark azure-databricks

我是个新手。我正在使用<div class="table-empty" v-for="table in tables" :key="table.id"> {{table.name}} <div v-for="ticket in tickets" :key="ticket.id"> <p v-if="ticket.table_id === table.id">{{ticket.number}}</p> </div> <div> ,并且正在使用Azure Databricks编写python代码。有一个使我感到困惑的特定主题:

节点是否具有单独的存储内存(我不是说RAM /缓存)?还是它们都共享相同的存储空间?如果它们共享相同的存储,那么运行在不同PySpark中的两个不同应用程序是否可以相应地交换数据?

我不明白为什么有时我们用Spark Context来引用存储,而有时候我们用dbfs:/tmp/...来引用存储...例如:如果我使用的是/dbfs/tmp/从databricks包中,我们使用诸如:dbutils来引用文件系统中的目录。但是,如果我使用常规的python代码,则说dbfs:/tmp/...

非常感谢您的帮助!!

1 个答案:

答案 0 :(得分:1)

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

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