Databricks Spark读取Unity Catalog外部托管Delta表时collect操作卡住,任务运行数为0
Databricks Spark读取Unity Catalog外部托管Delta表时collect操作卡住,任务运行数为0
我最近在Databricks上跑一段简单代码的时候遇到了棘手的问题,想请教下各位:
我执行的代码很简单:
df = spark.read.table(table_name).sample(fraction=0.1) my_df = df.collect()
我访问的是Unity Catalog中的外部托管Delta表,这张表的基本信息如下:
- 大小:3.1GiB,包含13个文件
- 列数:13列
我用的集群配置并不小,是m4x10large规格,内存有160GB,而且还对数据做了10%的下采样,按说处理的数据量应该不大才对。
代码前面的步骤执行得挺快,但到collect()这一步就彻底卡住了——界面上显示任务运行数一直是0,集群看起来完全没在干活。
我去查了日志,发现里面反复刷着GC相关的信息:
2024-09-20T11:10:57.351+0000: [GC (Allocation Failure) [PSYoungGen: 36727934K->1398166K(35979264K)] 37066227K->1736467K(119453184K), 13.8056805 secs] [Times: user=68.37 sys=1.95, real=13.80 secs]
这些GC日志一直重复输出,直到最后集群好像撑不住了(还没等到报错就一直卡着)。有没有大佬遇到过类似的情况?麻烦帮忙分析下问题出在哪呀?
备注:内容来源于stack exchange,提问作者Mattia Surricchio
相关产品推荐
相关产品推荐

