我对pyspark是个新手。我有一个包含ID和BALANCE列的pyspark数据框。我尝试将列balance存储到100% (1-100%)的存储桶中,并计算每个存储桶中有多少个in。我不能使用任何与RDD相关的东西,我只能使用Pyspark语法。Window.orderBy(df.BALANCE)
test = df.withColumn('percentile_col',F.percent_
我无法从pyspark数据帧列表创建RDD,如下所示:df = sqlContext.createDataFrame(l)df2Trace: py4j.Py4JException: Method __getnewargs__([]) does not exist
在parallelize调用中。它适用于像[1,2,3]这样的简单列表,但是当列表的元素变成一个数据帧时,它似乎
这通常是在一个大的步骤之后,或者缓存一个我想要多次使用的状态之后。似乎当我第二次对我的数据帧调用cache时,一个新的副本被缓存到内存中。在我的应用程序中,这会导致在扩展时出现内存问题。尽管在我当前的测试中,给定的数据帧最大大约为100MB,但中间结果的累积大小超出了executor上分配的内存。请参见下面的小示例,该示例演示了此行为。cache_test.py:
from <em