火花状态

时间:2019-08-16 13:08:08

标签: python apache-spark pyspark

如何在py spark代码中检查sparkSession状态?要求是检查sparkSession是否处于活动状态。如果sparksession未处于活动状态,则创建另一个spark会话并调用某个函数

我正在Jupyter笔记本中编写和运行此代码。

spark = SparkSession.builder.master("yarn") \                                 
    .config("spark.dynamicAllocation.enabled", "true") \
                                    .config("spark.serializer", 
    "org.apache.spark.serializer.KryoSerializer")
    .config("spark.shuffle.spill.compress", "true")
    .config("spark.shuffle.service.enabled", "true")
    .config("spark.io.compression.codec", "snappy")
    .config("spark.kryoserializer.buffer.max", "250m") \
    .config("spark.driver.memory", memory) \
    .config("spark.driver.cores", cores) \
    .config("spark.executor.cores", cores) \
    .config("spark.executor.memory", memory) \
    .config("spark.executor.instances", cores) \
    .enableHiveSupport()\
    .getOrCreate()
  1. 火花 显示sparkSession详细信息

3。

if(spark):
    print("yes")

else:
    print("no")

打印“是”

  1. spark.stop()

它停止了spark应用程序-我在UI中签入

但是当我再次在第三步中运行代码时

5。

if(spark):
    print("yes")

else:
    print("no")

打印“是”作为输出

  1. 但是可以 火花
error : AttributeError: 'NoneType' object has no attribute 'sc'
  1. 但是我运行下一个命令时看到的奇怪的东西
df = spark.read.csv(file_name) 

它创建了另一个应用程序并开始执行代码。

我试图了解sparkSession是否被杀死

观察: 一种。 if(spark)给出了TRUE,因为它是在此基础之下的种类。 b。当我只写“ spark”时-给我错误 C。 spark.read.csv ----没有给出任何错误并启动了一个新的应用程序,但过了一会儿抛出了错误- “无法在已停止的SparkContext上调用方法。”

要求是在我的代码/应用程序运行时检查sparkSession如何停止或失败..它应该自动重启

我当时想写

def func1:
    create spark session  
    code to execute 


def func2:
    while spark is active :
       time.sleep(200)
    if !spark is active:
        func1()


func1()

func2()

0 个答案:

没有答案