我正在努力将机器集群上的 Spark 框架知识调整为本地模式。
我的问题是: a) SparkContext 连接到一个集群,那么如果 master="local[*]" 它连接到什么? b) 数据在哪里?数据是否以某种方式分布?我不这么认为,数据会分布在哪里,但如果不是,如果数据都集中在一处,那么RDD抽象是如何实现的呢?我只有 1 个磁盘 1 个 RAM 1 个 CPU。 c) 计算由我机器的 CPU 中的不同内核处理。但如何呢?
我尝试在网上寻找资源,但都非常分散和模糊。有没有任何资源可以更好地了解 Spark 和 pyspark?
我明白你的问题。
Spark提供了本地运行的能力,这使得开发Spark应用程序更加方便。当我们指定 local[k] 时, Spark 在我们的本地系统上使用 k 个线程。如果我们使用配置 local[*],它会利用我们系统上所有可用的线程。这使得 Spark 能够利用我们机器上的可用内核。虽然数据实际上并不是分布式的,而是驻留在本地系统上,但Spark仍然提供了RDD抽象。