Spark Cluster 中的节点是否共享相同的存储?
Do nodes in Spark Cluster share the same storage?
我是个新手,来火花。我正在使用 Azure Databricks
并使用 PySpark
编写 python 代码。有一个特别的话题让我感到困惑:
节点是否有独立的存储内存(我不是说RAM/cache)?或者他们都共享相同的存储空间?如果它们共享相同的存储空间,那么不同 Spark Context
中的两个不同应用程序 运行 是否可以相应地交换数据?
我不明白为什么有时我们用 dbfs:/tmp/...
引用存储,而有时我们用 /dbfs/tmp/
引用它...示例:如果我使用 dbutils
数据块中的包,我们使用类似的东西: dbfs:/tmp/...
来引用文件系统中的目录。但是,如果我使用常规 python 代码,我会说 /dbfs/tmp/
.
非常感谢您的帮助!!
每个节点都有独立的内存和缓存。例如,如果您有一个具有 4GB 和 3 个节点的集群。当您部署 spark 应用程序时,它会根据集群配置和查询要求 运行 工作进程,并且会在不同节点或同一节点上创建虚拟机。这些节点内存在应用程序的生命周期内不会相互共享。
这里更多的是关于Hadoop资源共享的问题,可以从YARN资源管理中找到更多信息。这是非常简短的概述
https://databricks.com/session/resource-management-and-spark-as-a-first-class-data-processing-framework-on-hadoop
我是个新手,来火花。我正在使用 Azure Databricks
并使用 PySpark
编写 python 代码。有一个特别的话题让我感到困惑:
节点是否有独立的存储内存(我不是说RAM/cache)?或者他们都共享相同的存储空间?如果它们共享相同的存储空间,那么不同 Spark Context
中的两个不同应用程序 运行 是否可以相应地交换数据?
我不明白为什么有时我们用 dbfs:/tmp/...
引用存储,而有时我们用 /dbfs/tmp/
引用它...示例:如果我使用 dbutils
数据块中的包,我们使用类似的东西: dbfs:/tmp/...
来引用文件系统中的目录。但是,如果我使用常规 python 代码,我会说 /dbfs/tmp/
.
非常感谢您的帮助!!
每个节点都有独立的内存和缓存。例如,如果您有一个具有 4GB 和 3 个节点的集群。当您部署 spark 应用程序时,它会根据集群配置和查询要求 运行 工作进程,并且会在不同节点或同一节点上创建虚拟机。这些节点内存在应用程序的生命周期内不会相互共享。
这里更多的是关于Hadoop资源共享的问题,可以从YARN资源管理中找到更多信息。这是非常简短的概述 https://databricks.com/session/resource-management-and-spark-as-a-first-class-data-processing-framework-on-hadoop