想象一下,您正在通过SparkContext和Hive加载大型数据集。因此,此数据集随后将分布在Spark群集中。例如,数千个变量的观察值(值+时间戳)。
现在,您将使用一些map / reduce方法或聚合来组织/分析您的数据。例如,按变量名称分组。
分组后,您可以将每个变量的所有观察值(值)作为时间序列Dataframe。如果您现在使用DataFrame.toPandas
def myFunction(data_frame):
data_frame.toPandas()
df = sc.load....
df.groupBy('var_name').mapValues(_.toDF).map(myFunction)
答案 0 :(得分:4)
在这种情况下,Pandas DataFrame
并没有什么特别之处。
DataFrame
this collects data and creates local Python object on the driver上的toPandas
方法创建pyspark.sql.dataframe.DataFrame
。mapPartitions
)内创建pandas.core.frame.DataFrame
,您只需获得RDD[pandas.core.frame.DataFrame]
。 Pandas对象之间没有区别,让我们说tuple
。DataFrame
(我假设你的意思是_.toDF
)在执行者线程内。