【问题标题】:Kill Spark Job programmatically以编程方式终止 Spark 作业
【发布时间】:2017-04-05 16:05:51
【问题描述】:

我正在通过 Jupyter notebook 运行 pyspark 应用程序。我可以使用 Spark Web UI 终止作业,但我想以编程方式终止它。

我怎样才能杀死它???

【问题讨论】:

    标签: python apache-spark pyspark jupyter-notebook


    【解决方案1】:

    要扩展@Netanel Malka 的答案,您可以使用 cancelAllJobs 方法取消每个正在运行的作业,或者可以使用 cancelJobGroup 方法取消已组织成组的作业。

    来自 PySpark 文档:

    cancelAllJobs()
    Cancel all jobs that have been scheduled or are running.
    
    cancelJobGroup(groupId)
    Cancel active jobs for the specified group. See SparkContext.setJobGroup for more information.
    

    还有来自文档的示例:

    import threading
    from time import sleep
    result = "Not Set"
    lock = threading.Lock()
    
    def map_func(x):
        sleep(100)
        raise Exception("Task should have been cancelled")
    
    def start_job(x):
        global result
        try:
            sc.setJobGroup("job_to_cancel", "some description")
            result = sc.parallelize(range(x)).map(map_func).collect()
        except Exception as e:
            result = "Cancelled"
        lock.release()
    
    def stop_job():
        sleep(5)
        sc.cancelJobGroup("job_to_cancel")
    
    suppress = lock.acquire()
    suppress = threading.Thread(target=start_job, args=(10,)).start()
    suppress = threading.Thread(target=stop_job).start()
    suppress = lock.acquire()
    print(result)
    

    【讨论】:

      【解决方案2】:

      假设你写了这段代码:

      from pyspark import SparkContext
      
      sc = SparkContext("local", "Simple App")
      
      # This will stop your app
      sc.stop()
      

      如文档中所述: http://spark.apache.org/docs/latest/api/python/pyspark.html?highlight=stop#pyspark.SparkContext.stop

      【讨论】:

      • 这不会创建一个新的、独立的 SparkContext 吗?
      • 没有。如果您将在您的应用程序中调用 sc.stop(),SparkContext 将被停止。我添加 SparkContext 的 init 以明确 sc
      • @cricket_007 它将杀死该 Spark 应用程序中的所有作业。我只想杀死一个特定的工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-31
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多