PySpark:从数据帧列表创建RDD



>我无法从 pyspark 数据帧列表创建 RDD,如下所示:

l = [('Alice', 1)]
df = sqlContext.createDataFrame(l)
m = [('bob', 2)]
df2 = sqlContext.createDataFrame(m)
df_list = [df, df2]
sc.parallelize(df_list)

我得到的错误是: Py4JError: An error occurred while calling o85.__getnewargs__. Trace: py4j.Py4JException: Method __getnewargs__([]) does not exist

parallelize电话中。 它适用于简单的列表,例如 [1,2,3] ,但是当列表的元素成为数据帧时,它似乎失败了...... 请指教。

我有一个时间序列数据帧,可以按列的id进行分组。 由于我需要对每个时间序列数据进行一些计算,我的想法是通过id将数据帧拆分为多个数据帧,并使每个数据帧成为列表中的元素,因此当我从该列表创建RDD时,我可以并行对数据帧进行计算。

我正在使用Spark 1.6。提前感谢!

仅当数据框具有相同的方案时,此操作才有效。

df = df.unionAll(df2)
rdd = df.rdd()

最新更新