我在客户端部署了一个Jupyter笔记本(使用python 2.7 kernel
),它访问远程数据并在远程Spark独立集群中进行处理(使用pyspark library
)。我正在客户端模式下部署火花群集。客户端计算机没有任何 Spark 工作器节点。
客户端没有足够的内存 (RAM)。我想知道,如果我在客户端计算机上对数据帧执行 Spark 操作df.count()
,数据帧是存储在客户端的 RAM 中还是存储在 Spark worker 的内存中?
如果我理解正确,那么你在客户端得到的是一个 int。如果设置正确,至少应该是。所以答案是否定的,DF 不会击中您的本地 RAM。
您正在通过 SparkSession(早期版本的 SparkContext)与群集交互。即使您在客户端计算机上开发(即编写代码),spark 操作(即运行 pyspark 代码)的实际计算也不会在本地计算机上执行。