使用PySpark时,Python数据结构是如何在Spark中实现的?

使用PySpark时,Python数据结构是如何在Spark中实现的?,python,python-2.7,apache-spark,pyspark,Python,Python 2.7,Apache Spark,Pyspark,我目前正在自学Spark编程,并尝试在PySpark中重新编写现有的Python应用程序。然而,我仍然对如何在PySpark中使用常规Python对象感到困惑 我了解Spark中的分布式数据结构,如RDD、数据帧、数据集、向量等。Spark有自己的转换操作和动作操作,如.map()、.reduceByKey()来操作这些对象。但是,如果我在PySpark中创建传统的Python数据对象,如数组、列表、元组或字典,该怎么办?它们将只存储在我的驱动程序节点的内存中,对吗?如果我将它们转换为RDD,我

我目前正在自学Spark编程,并尝试在PySpark中重新编写现有的Python应用程序。然而,我仍然对如何在PySpark中使用常规Python对象感到困惑

我了解Spark中的分布式数据结构,如RDD、数据帧、数据集、向量等。Spark有自己的转换操作和动作操作,如.map()、.reduceByKey()来操作这些对象。但是,如果我在PySpark中创建传统的Python数据对象,如数组、列表、元组或字典,该怎么办?它们将只存储在我的驱动程序节点的内存中,对吗?如果我将它们转换为RDD,我仍然可以使用典型的Python函数进行操作吗


如果我有一个巨大的数据集,我可以使用像pandas或numpy这样的常规Python库在PySpark中处理它吗?如果我直接在PySpark中的Python对象上执行Python函数,Spark将只使用驱动程序节点来运行数据吗?或者我必须在RDD中创建它并使用Spark的操作

您可以在PySpark中创建传统的Python数据对象,如数组、列表、元组或字典

您可以使用Pyspark中的python函数执行大多数操作

您可以在Pyspark中导入Python库,并使用它们在Pyspark中处理数据


您可以创建RDD并对其应用spark操作

您可以在PySpark中创建传统的Python数据对象,如数组、列表、元组或字典

您可以使用Pyspark中的python函数执行大多数操作

您可以在Pyspark中导入Python库,并使用它们在Pyspark中处理数据


您可以创建RDD并对其应用spark操作

感谢您的澄清!所以,我可以在PySpark中自由创建Python数据对象,但它们不是分布式的吗?如果我创建了一个巨大的Python字典,它将只存储在运行驱动程序的节点的内存中。在PySpark中分发数据的唯一方法是将其转换为像RDD这样的Spark数据对象,对吗?这意味着我可以创建Python数据对象并执行操作,但只能分发RDD对象上的Spark操作?感谢您的澄清!所以,我可以在PySpark中自由创建Python数据对象,但它们不是分布式的吗?如果我创建了一个巨大的Python字典,它将只存储在运行驱动程序的节点的内存中。在PySpark中分发数据的唯一方法是将其转换为像RDD这样的Spark数据对象,对吗?这意味着我可以创建Python数据对象并执行操作,但只能分发RDD对象上的Spark操作?