2
我需要在Spark DataFrame上進行分佈式計算,調用DataFrame的塊上的一些任意(而非SQL)邏輯。 我所做的:Spark DataFrame mapPartitions
def some_func(df_chunk):
pan_df = df_chunk.toPandas()
#whatever logic here
df = sqlContext.read.parquet(...)
result = df.mapPartitions(some_func)
可惜的是它會導致:
AttributeError: 'itertools.chain' object has no attribute 'toPandas'
我預計將有每個地圖調用中的火花數據幀的對象,而不是我得到了「itertools.chain」。爲什麼?以及如何克服這一點?
PySpark使用itertools.chain將數據傳遞到mapPartition,因此要傳遞這個對象,它不能識別的功能。 –