hadoop - 最小化Google Dataproc上Apache Spark作业的初始化时间的最佳方法是什么?

标签 hadoop apache-spark google-cloud-dataproc

我正在尝试使用REST服务来使用Dataproc API客户端触发Spark作业。但是,dataproc集群中的每个作业需要10到15秒的时间来初始化Spark驱动程序并提交应用程序。我想知道是否有一种有效的方法来消除由gs存储桶中的JAR文件触发的Spark Java作业的初始化时间?我正在考虑的一些解决方案是:

  • 池化一个JavaSparkContext实例,该实例可用于每个Spark作业
  • 启动单个作业,并在单个作业中运行基于Spark的处理

  • 有没有更有效的方法?如何在Google Dataproc中实现上述方式?

    最佳答案

    您可能需要研究Spark Job Server:https://github.com/spark-jobserver/spark-jobserver,而不是亲自编写此逻辑,因为这应允许您重用Spark上下文。

    您可以为Dataproc编写一个驱动程序,该程序接受来自REST服务器的RPC,然后自己重​​新使用SparkContext,然后通过Jobs API提交此驱动程序,但我个人将首先考察作业服务器。

    关于hadoop - 最小化Google Dataproc上Apache Spark作业的初始化时间的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35751897/

    相关文章:

    azure - 如何从使用 Azure Spark 创建的 parquet 文件在 Azure ML studio 中(通过 GUI)创建 Azure 数据集

    java - 我没有找到 Dataproc 的 NodeInitializationAction 已运行的证据

    apache-spark - 从 Spark 读取时对 sql 表数据进行分区的问题

    performance - 映射器中的大量小文件

    scala - Scala Spark 中的 groupBy 函数需要 Lzocodec 吗?

    hadoop - 在 Hadoop 中处理条件文件

    python - 将 Python 项目提交到 Dataproc 作业

    hadoop - spark sc.textfile 的详细工作原理是什么?

    java - 使用 FileInputFormat.addInputPaths 递归添加 HDFS 路径

    apache-spark - 大量错误 ErrorMonitor : AssociationError on spark startup