>我无法从 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()