重新启动Spark Contex

2024-04-19 15:25:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一个Jupyter-spark安装程序,我想用不同的输入参数对我的集群进行基准测试。为了确保eniforent保持不变,我尝试重置(重新启动)SparkContext,下面是一些伪代码:

import os
import shutil
import pyspark

temp_result_parquet = os.path.normpath('/home/spark_tmp_parquet')
i = 0 

while i < max_i:
    i += 1
    if os.path.exists(temp_result_parquet):
        shutil.rmtree(temp_result_parquet) # I know I could simply overwrite the parquet

    My_DF = do_something(i)
    My_DF.write.parquet(temp_result_parquet)

    sc.stop()
    time.sleep(10)
    sc = pyspark.SparkContext(master='spark://ip:here', appName='PySparkShell')

当我在第一次迭代中执行此操作时,它运行得很好,但在第二次迭代中,我得到了以下错误:

^{pr2}$

{cdi>在没有重新启动代码的情况下,{cd2>尝试重新启动。所以为了在每次迭代之前把板岩擦干净,我正在尝试这个。奇怪的结果是parquet认为{}下降了。在


Tags: path代码importdfosmyjupyterresult