Spark任务反序列化时间

时间:2015-07-16 21:50:02

标签: apache-spark apache-spark-sql

我正在运行Spark SQL作业,在查看主UI时,任务反序列化时间可能需要12秒,计算时间可能需要2秒。

让我给出一些背景:
1-任务很简单:在PostgreSQL DB中运行查询并在Spark中计算结果 2-在具有2个以上工作人员(其中一个是驱动程序)的集群上运行并将任务发送给另一个工作人员时,会出现反序列化问题。
3-我必须使用Postgres的JDBC驱动程序,并使用Spark submit运行每个作业。

我的问题:

我是否每次都将包装好的罐子作为工作的一部分提交,这是任务反序列化时间巨大的原因?如果是这样,我怎样才能将所有东西运送给工人一次然后在后续工作中已经拥有了所需的一切?

有没有办法让SparkContext在作业之间保持活动状态(spark-submit),以便反序列化时间减少?

无论如何,任何有助于不支付des的东西。每次我在集群中运行工作时都会有时间。

感谢您的时间,

干杯

1 个答案:

答案 0 :(得分:2)

据我所知,YARN支持缓存应用程序jar,以便每次应用程序运行时都可以访问它们:请参阅property spark.yarn.jar

为了支持作业之间的共享SparkContext并避免初始化它的开销,为此目的有一个项目spark-jobserver