python - 减少由于 azure databricks 中 GC 分配失败而导致的时间延迟的步骤

标签 python apache-spark garbage-collection jvm azure-databricks

我正在 Spark 集群上的 azure databricks python 笔记本中执行打印“Hello World”作业。每次运行作业时,执行时间都会超过 12 秒,预计执行时间不会超过 12 秒,因为这是任何人都能想到的最简单的 Python 代码。当我验证日志时,它显示 GC 分配失败,如下所示:

2019-02-15T15:47:27.551+0000: [GC (Allocation Failure) [PSYoungGen: 312512K->57563K(390144K)] 498744K->243803K(1409024K), 0.0153696 secs] [Times: user=0.05 sys=0.00, real=0.02 secs] 
2019-02-15T15:47:28.703+0000: [GC (Metadata GC Threshold) [PSYoungGen: 206668K->65267K(385024K)] 392909K->251515K(1403904K), 0.0187692 secs] [Times: user=0.06 sys=0.00, real=0.02 secs] 
2019-02-15T15:47:28.722+0000: [Full GC (Metadata GC Threshold) [PSYoungGen: 65267K->0K(385024K)] [ParOldGen: 186248K->244119K(1018880K)] 251515K->244119K(1403904K), [Metaspace: 110436K->110307K(1144832K)], 0.3198827 secs] [Times: user=0.64 sys=0.04, real=0.32 secs] 

想知道由于 GC 分配失败导致作业延迟 > 12 秒吗?如果是,我怎样才能减少它?如果不是,延迟的其他原因是什么以及如何纠正?

最佳答案

在集群上启动 Spark 作业会产生开销。如果处理 PB 级的开销,那么开销很小,但在这里却很明显。 GC 在这里不是问题。

关于python - 减少由于 azure databricks 中 GC 分配失败而导致的时间延迟的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55016299/

相关文章:

python - Django:无法将空表单字段保存到数据库 - 基数为 10 的 int() 的无效文字: ''

python - 在 Python 中将函数的结果存储到可检索的 DataFrame 中

python - PySpark应用程序在纱簇模式和独立模式下提交错误

java - substring() 的垃圾友好替代品

python - PyQt5 信号槽装饰器示例

dataframe - pyspark中有没有一种方法可以计算唯一值

apache-spark - Spark 中的 JSON 到数据集

Java : Is String. 替换 GC 开销太大?

c# - GC 行为和 CLR 线程劫持

python - pysvn.Client.callback_ssl_server_trust_prompt 错误