我有一个时间序列数据的pyspark数据帧,每个时间点都有一列。这样做是为了使一天中不同时间的聚合速度更快。但是,如果我尝试汇总一整天(2880列)的行,则会收到如下错误:
`"ERROR scheduler.TaskSetManager: Task 0 in stage 8.0 failed 4 times; aborting job"
具有从行开始的长堆栈跟踪:-
"Spark Exception: Job aborted due to stage failure".`
示例代码:
df = spark.sql("select * from my_table")
epochs = list(range(0,2880))
row = df.agg({ str(e): "mean" for e in epochs}).first()
如果仅聚合960列,则不会出现此错误。 如果我只调用collect(),也不会出现任何错误。 我试图提高spark.driver.maxResultSize和spark.driver.memory设置
如果由于内存问题而失败,但spark常常会建议更改哪个配置,但是在这种情况下什么也没说。
我是否可以更改任何配置设置,或者可以不同地构造数据框?