首页 文章

pyspark vs python vs numpy 的理解? [1]

提问于
浏览
-1

我在理解 pyspark,spark 和 python 之间的关系时遇到了麻烦。我试图阅读有关操作系统的内容,但仍然有些困惑。

所以我搜索的是:

  • Pyspark 是 spark 的 python 外壳。

  • Spark 是一个计算引擎,可能负责处理文件或将文件分发给节点,然后收集并返回文件?

  • 外壳程序是一种程序,通过在/bin 目录中进行搜索来解释命令并转换为可执行代码。

但是当我编写程序时,我很困惑:

  • 在 Pyspark 中,我们可以导入 Numpy 并创建 Numpy 对象。然后,Spark 是否还支持 Numpy 项目?

  • 我们可以写“ from pyspark import SparkContext”,那么 pyspark 是像 numpy 一样的库吗?

  • Spark 中的 RDD 对象存储在哪里?我这里可能缺少一些知识,但是 Python 对象/ numpy 对象/ spark 对象到底是什么?它们是否存储在物理内存中的某个位置?它们在文件系统中吗?来自不同编程库的对象如何在 python 环境中一起运行?

我觉得我可能在这里弄乱了抽象级别,因此任何指导都将有所帮助!谢谢。

1 回答

  • 4

    非常简短(您的问题过于广泛,实际上这不是进行此类查询的最佳位置):

    • pyspark 是 Spark 的 Python API,不只是一个 shell(尽管它确实包含一个 shell);用 pyspark 编写的程序可以是提交给 Spark 集群并以分布式方式运行。

    • 或多或少是正确的...

    • 大致来说也是正确的(尽管无关紧要)。

    • numpy 对象可以与 pyspark 一起使用,并且确实在需要的地方大量使用它们-例如 pyspark 的线性代数和机器学习库。当然,它们在其他 Spark API(Scala/Java/R)中没有用。

    • 我不太确定(Python)库的正式定义,但是可以,也可以将 pyspark 视为一个库(或者也可以看作一组库,因为 pyspark 中有更多子包,例如 Spark SQL 和 Spark ML);最近,它也已通过皮皮(i.e.可以通过pip安装)提供。

    • ...好吧,在这里您变得非常广泛...让我说,幕后故事的很大一部分归因于Py4j,即 pyspark 背后的无名英雄...

相关问题