WARN SparkContext:在同一JVM中检测到多个正在运行的SparkContext

时间:2018-11-08 09:01:48

标签: python apache-spark pyspark apache-spark-sql

我正在写这篇文章,因为找不到该问题的答案。我正在使用PySpark并运行脚本,但无法看到其他Spark会话在哪里或将其关闭。进行以下操作的最佳方法是什么?

我没有在此SparkContext作业中初始化任何其他spark-submit,所以它一定是先前运行时留下的上下文吗?请注意,我不想allowmultiplecontexts

  1. 检查运行SparkContexts
  2. 使用现有的SparkContexts(如果存在)。
  3. 修改此代码的最佳方法。
from src import config
import pandas as pd
import plotly.graph_objs as go
from visualize_main import app
from dash.dependencies import Input, Output, State
from pyspark.sql import SparkSession
from datetime import datetime
import dash_core_components as dcc
import dash_html_components as html
from pyspark import SparkContext, SparkConf

spark =SparkSession.builder.master('local').appName("morphy_test111_dgdfgdf").config(conf=conf).getOrCreate()

我紧随

提交工作
spark-submit /app.py

我收到此错误

WARN SparkContext: Multiple running SparkContexts detected in the same JVM!
org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243). To ignore this error, set spark.driver.allowMultipleContexts = true. The currently running SparkContext was created at:

任何帮助我都非常感谢,因为我还没有找到适当的解释。

1 个答案:

答案 0 :(得分:1)

  

a)检查运行中的sparkcontext,b)使用现有的sparkcontext,如果存在,则使用c)修改此代码的最佳方法

在这种情况下,请删除:

SparkContext.stop("morphy_test11")
conf = SparkConf()
conf.set("spark.driver.allowMultipleContexts", "true")

只留下

spark = SparkSession.builder.master('local').appName("morphy_test111_dgdfgdf").config(conf=conf).getOrCreate()

如果有活动上下文,它将被重用。