我正在写这篇文章,因为找不到该问题的答案。我正在使用PySpark并运行脚本,但无法看到其他Spark会话在哪里或将其关闭。进行以下操作的最佳方法是什么?
我没有在此SparkContext
作业中初始化任何其他spark-submit
,所以它一定是先前运行时留下的上下文吗?请注意,我不想allowmultiplecontexts
。
SparkContexts
。SparkContexts
(如果存在)。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:
任何帮助我都非常感谢,因为我还没有找到适当的解释。
答案 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()
如果有活动上下文,它将被重用。