【问题标题】:Spark Context Issue火花上下文问题
【发布时间】:2021-09-30 02:35:09
【问题描述】:
    spark = SparkSession.builder.appName('QUEUEVQL').getOrCreate()
    jsonStrings = {"Name": "SRIDHAR", "Author": "jangcy", "BlogEntries": 100, "Caller": "jangcy"}
    dt = [jsonStrings]
    dfs = spark.createDataFrame(dt).collect()
    dfs2 = spark.sparkContext.parallelize(dfs).toDF()
    dfs2.createOrReplaceTempView("QVQL")
    resDf = spark.sql("select Name from QVQL")
    resDfPandas = resDf.toPandas()
    print(resDfPandas)

代码错误:

py4j.protocol.Py4JJavaError:调用 o490.collectToPython 时出错。 :org.apache.spark.SparkException:作业因阶段失败而中止:阶段 27.0 中的任务 0 失败 4 次,最近一次失败:阶段 27.0(TID 98)中丢失任务 0.3(172.17.7.28 执行程序 1):java.io .IOException: Cannot run program "python3.6": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)

【问题讨论】:

    标签: sql json apache-spark pyspark


    【解决方案1】:

    这应该是 2 行,如果您仍然收到错误,那么您缺少一些 jar 文件,如错误消息所示。

        jsonStrings = {"Name": "SRIDHAR", "Author": "jangcy", "BlogEntries": 100, "Caller": "jangcy"}
        dfs = spark.createDataFrame([jsonStrings]).toPandas()
        print(dfs)
    
      # Author  BlogEntries  Caller     Name
      # 0  jangcy          100  jangcy  SRIDHAR
    

    【讨论】:

    • 嗨 Jayrythium,谢谢你的回复。但是这段代码 sn-p 在 python 控制台上运行,当一个一个执行时,在 spark 集群上运行时失败。两次执行的虚拟环境是相同的。有什么建议。以下是用于虚拟环境的库。在下面的 2 个部分中添加了库。
    • Sec 1 attrs==21.2.0, certifi==2020.12.5, chardet==4.0.0, click==8.0.1, contextvars==2.4, dataclasses==0.8, Flask= =1.1.2, Flask-Cors==3.0.10, h11==0.9.0, httpcore==0.11.1, httplib2==0.19.1, httptools==0.2.0, httpx==0.15.4, idna ==2.10, immutables==0.15, importlib-metadata==4.0.1, itsdangerous==2.0.1, Jinja2==3.0.0, joblib==0.15.1, jsonpickle==1.4.2, jsonschema==3.2 .0, MarkupSafe==2.0.1, mysql-connector-
    • 第二节 python==8.0.25,numpy==1.19.5,pandas==1.1.4,protobuf==3.17.1,py4j==0.10.9,pymongo==3.10。 1、pyparsing==2.4.7、pyrsistent==0.17.3、pyspark==3.1.2、python-dateutil==2.8.1、pytz==2021.1、requests==2.25.1、rfc3986==1.5.0 , 六==1.16.0, sniffio==1.2.0, typing-extensions==3.7.4.2, urllib3==1.26.4, Werkzeug==2.0.1, zipp==3.4.1
    • 不确定,我在 spark 2.4 上运行我的。很想知道您为什么使用 spark 来创建 pandas df?
    • 删除 .toPandas() 方法,而不是 print(dfs) 执行 dfs.show()。看看是否有效
    猜你喜欢
    • 2017-11-05
    • 2015-02-04
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    相关资源
    最近更新 更多