当前位置: 首页 > 知识库问答 >
问题:

在本地机器上安装火花-. getOrCreate火花会话不完成

柳轶
2023-03-14

我已按照以下指南在本地计算机(Windows 10)上安装spark:https://changhsinlee.com/install-pyspark-windows-jupyter/.

从Anaconda启动笔记本并运行时:

spark_session = SparkSession\
        .builder\
        .master("local[*]")\
        .appName("Z_PA")\
        .getOrCreate()

它需要很长时间,而且不会完成(至少在60分钟内)。

在此之前,我收到了错误“java-gage-Process-exited-前…”。阅读此内容后:“https://stackoverflow.com/questions/31841509/pyspark-exception-java-gateway-process-exited-before-sending-the-driver-its-po”我安装了以下版本并更改了不带空格的目录。

我下载并安装了:

  • java 版本“1.8.0_202”
  • 蟒蛇: conda 4.11.0
  • 蟒蛇:蟒蛇 3.8.5
  • 火花: 火花-3.0.3-垃圾-哈杜普2.7
    • .exe(已添加到垃圾箱文件夹)

    Spark存储在:C:\spark。Java存储在:C:\Java中,我已经在我的“环境变量:用户变量...”中添加了这两个变量。

      < Li > SPARK _ HOME = C:\ SPARK \ SPARK-3 . 0 . 3-bin-Hadoop 2.7 < Li > HADOOP _ HOME = C:\ spark \ spark-3 . 0 . 3-bin-HADOOP 2.7 < Li > JAVA _ HOME = C:\ JAVA \ JDK 1 . 8 . 0 _ 202 < Li > py spark _ DRIVER _ PYTHON = jupyter < Li > py spark _ DRIVER _ PYTHON _ OPTS = notebook < li >以及spark和java的对应\bin filepath到my path系统变量。

    我也安装了pyspark和findpark。这些代码行执行没有任何问题:

    import findspark
    findspark.init('C:\spark\spark-3.0.3-bin-hadoop2.7')
    findspark.find()
    import pyspark # only run after findspark.init()
    from pyspark import SparkContext
    from pyspark.sql import SparkSession
    

    有人知道为什么要花这么长时间才能得到火花会话吗?我的安装中有什么地方似乎不正确吗?

共有1个答案

通啸
2023-03-14

这是我在带有蟒蛇的窗户机器上安装和运行pyspark的“配方”:

先决条件:

  • 确保已安装蟒蛇
  • 建议在 venv(虚拟环境)中工作
  • 安装派斯帕克

如何创建虚拟环境项目并在venv中安装pyspark:

  1. 打开anaconda cmd提示
  2. 创建项目目录并导航到它cd path/to/workspace

准备在Windows上使用公园(火花,哈多普)

  1. 为火花和哈道夫创建文件夹,例如在以下路径C中:/用户/您的姓名/spark_setup/
  2. 将 spark-3.2.0-垃圾-哈道普 2.7.tgz 从 https://archive.apache.org/dist/spark/spark-3.2.0/ 下载到您的spark_setup文件夹
  3. 使用以下命令 tar -xvzf spark-3.2.0-bin-hadoop2.7.tgz 提取到spark_setup文件夹中
  4. 例如,在spark_setup文件夹中创建一个 /hadoop/bin 文件夹,例如,像这样 C:/用户/您的姓名/spark_setup/spark-3.2.0-bin-hadoop2.7/hadoop/bin/
  5. 下载 https://github.com/steveloughran/winutils/blob/master/hadoop-2.7.1/bin/winutils.exe 并将其放在C:/用户/您的姓名/spark_setup/火花-3.2.0-bin-hadoop2.7/hadoop/bin/

运行这个python文件

from datetime import datetime, date
import pandas as pd
from pyspark.sql import Row
from pyspark.sql import SparkSession
import os

if __name__ == '__main__':
    os.environ['PYSPARK_PYTHON'] = <path/to/workspace/testproject/venv/Scripts/python.exe>
    os.environ['HADOOP_HOME'] = "C:/Users/YourName/spark_setup/spark-3.2.0-bin-hadoop2.7/hadoop"
    spark = SparkSession.builder.getOrCreate()
    df = spark.createDataFrame([
        Row(a=1, b=2., c='string1', d=date(2000, 1, 1), e=datetime(2000, 1, 1, 12, 0)),
        Row(a=2, b=3., c='string2', d=date(2000, 2, 1), e=datetime(2000, 1, 2, 12, 0)),
        Row(a=4, b=5., c='string3', d=date(2000, 3, 1), e=datetime(2000, 1, 3, 12, 0))
    ])
    df.show(2)

 类似资料:
  • 编辑1 当选择正确的scala版本时,它似乎会更进一步,但我不确定下面的输出是否仍然有需要解决的错误:

  • 由于,我检查了一个spark作业的输出拼花文件,该作业总是会发出声音。我在Cloudera 5.13.1上使用了 我注意到拼花地板排的大小是不均匀的。第一排和最后一排的人很多。剩下的真的很小。。。 拼花地板工具的缩短输出,: 这是已知的臭虫吗?如何在Spark中设置拼花地板块大小(行组大小)? 编辑: Spark应用程序的作用是:它读取一个大的AVRO文件,然后通过两个分区键(使用

  • 一些脚本在工作时什么也不做,当我手动运行它们时,其中一个失败了,出现了以下消息: 错误SparkUI:未能绑定SparkUI java.net.bindexception:地址已在使用:服务“SparkUI”在重试16次后失败! 所以我想知道是否有一种特定的方法来并行运行脚本?

  • 在Spark独立集群中,主节点是否也运行任务?我不确定是否有Executors进程在主节点上旋转并与工作节点一起工作。 谢了!

  • 我在一个Spark项目上工作,这里我有一个文件是在parquet格式,当我试图用java加载这个文件时,它给了我下面的错误。但是,当我用相同的路径在hive中加载相同的文件并编写查询select*from table_name时,它工作得很好,数据也很正常。关于这个问题,请帮助我。 java.io.ioException:无法读取页脚:java.lang.runtimeException:损坏的文

  • 我是新来的火花...在阅读基本原理时,一些基本的东西我不清楚: