具有Spark失败的几个大型数据帧的联合

时间:2018-02-22 08:08:53

标签: apache-spark pyspark

我正在遇到以下问题:我有大约15个.csv文件,每个200GB,我想要过滤所有相同的模式,然后归结为一个大的Spark Dataframe(使用Jupyter和PySpark作为前端)。

加载CSV文件,过滤并保存它们可以得到15个数据帧,当它们在内存中缓存时每个占用1GB。然后我想结合所有这些。

但是,使用以下代码段失败,导致SparkContext崩溃。

结果是一个神秘的

  

诊断:未捕获的异常:org.apache.spark.rpc.RpcTimeoutException:期货在[120秒]后超时。此超时由spark.rpc.askTimeout

控制
from functools import reduce  # For Python 3.x
from pyspark.sql import DataFrame

def unionAll(*dfs):
    return reduce(DataFrame.union, dfs)

# parts was created by doing sth like 
# parts = [load_and_filter(file) for file in csv_files]
comp = unionAll(*parts)

如果有人可以帮助我(或者甚至试着指导我在哪里可以找到更详细的日志...)那就太好了。

最诚挚的问候, Zahlii

0 个答案:

没有答案