我正在遇到以下问题:我有大约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