在 Windows 上安装 pyspark

2024-01-16

我可以做一个pip install pyspark在我的窗户上。当我尝试运行下面的示例脚本时,它告诉我我的SPARK_HOME未设置。

我还需要设置 SPARK_HOME 吗?我该怎么做?

我在网上提到的博客从 Spark 网站手动提取 Spark 文件,然后他们必须将 SPARK_HOME 和 PYTHONPATH 放入其中。

然而,我认为这已经被消除了pip install pyspark.

import findspark
findspark.init()

import pyspark # only run after findspark.init()
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()

df = spark.sql('''select 'spark' as hello ''')
df.show()

对于intellij,在pyspark中安装并根据需要进行设置后,我还需要进行额外的配置吗?


2022 年,这对我有用。我的设置是 VS Code 中的 jupyter 笔记本。

Prereq:

  • 确保JDK 1.8
  • Download repo zip from: https://github.com/steveloughran/winutils https://github.com/steveloughran/winutils
    • 提取您选择的hadoop版本文件(我的版本:3.0.0)
    • 将文件放在某个文件夹中,例如c:\blah\hadoop\bin (bin 文件夹是必需的)
#!java -version         # check your java version
!pip install pyspark

hadoopFilesPath = r"c:\blah\hadoop"
import os
os.environ["HADOOP_HOME"] = hadoopFilesPath
os.environ["hadoop.home.dir"] = hadoopFilesPath
os.environ["PATH"] = os.environ["PATH"] + f";{hadoopFilesPath}\\bin"

from pyspark.sql import SparkSession, SQLContext
spark = SparkSession.builder.master('local[*]').getOrCreate()
print(spark.version)

df = spark.read.csv("test.csv", header=True, inferSchema=True)
df.show()

df.write.parquet(r"C:\blah\data\test.parquet")

请注意,环境变量可以发挥作用。如果没有,前两个是显而易见的(错误消息的一部分),路径一个需要谷歌搜索。

相关错误信息:

  • java.lang.RuntimeException: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME 和 hadoop.home.dir 未设置。 -看https://wiki.apache.org/hadoop/WindowsProblems https://wiki.apache.org/hadoop/WindowsProblems
  • Py4JJavaError:调用 o42.parquet 时发生错误。
  • java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
  • InsertIntoHadoopFsRelationCommand windows 调用 Py4JJavaError 时发生错误
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 上安装 pyspark 的相关文章

随机推荐

  • MySQL A 或 B,但不能同时两者

    这似乎是一个简单的查询 但我似乎无法理解它或将其与堆栈溢出上的其他帖子联系起来 谁能解释一下 这是我到目前为止所拥有的 它正在返回一个人或两个人去过的所有酒吧的记录 TBL 常见模式 饮酒者 VARCHAR 50 PK 酒吧 VARCHAR
  • 正则表达式 - 查找具有 name 属性但不具有 id 的元素

    这个问题今天就出现在我身上了 我正在从事一个基于 Web Struts 2 的项目 其中包含大量 JSP 并且大部分input select table and a元素仅通过以下方式定义name属性 无id设置 例如
  • 绕过 org.apache.hadoop.mapred.InvalidInputException:输入模式 s3n://[...] 匹配 0 个文件

    这是我的一个问题已经问过 http apache spark user list 1001560 n3 nabble com Ignoring S3 0 files exception tt6101 html在 Spark 用户邮件列表中
  • Android:同时视频播放和录制

    我正在为 Android 开发一个类似视频聊天的应用程序 我可以同时在屏幕上录制和播放视频吗 我可以将视频相互合成 FaceTime 风格 还是必须并排放置 我可以使用 MediaPlayer 和 MediaRecorder 类还是必须使用
  • Angular 5 - 在函数中使用时 Ng-x 微调器不显示

    我不确定是否有人经历过这种情况 每当我尝试在函数中使用 ngx spinner 时 它都不起作用 但是当我将它放入订阅的回调中时 它就起作用了 在 authservice 之外 这没有显示微调器 login this spinner sho
  • Python 解释器/IronPython 解释器没有名为 clr 的模块

    我正在使用 IronPython 我想创建一些窗口窗体 我想创建一个带有一些按钮的 Windows 窗体 并且我想在 Visual Studio 中使用 Iron Python 来执行此操作 我使用的是Visual Studio 2012集
  • 更新推送通知的实时应用程序 ID

    我在 App Store 中有一个应用程序 它有一个通配符应用程序 ID 我想向其添加推送通知 但不能 因为我们有通配符应用程序 ID 这是我得到的错误 只有显式应用程序 ID 才能用于访问 Apple 推送通知服务 请使用具有特定捆绑包标
  • 用新行替换字符

    Powershell ver 4 Windows 7 我想更换 在文本文件中添加新行 我尝试了下面的脚本 Get Content C Test test txt Replace n Set Content C Test testv2 txt
  • isset() 在表单上无法正常工作

    我有一个用户提交的注册表单 使用 isset POST 发送数据以查看是否有任何内容放入表单输入框中 如果没有 则将其发送到 else 然后将其发送到一个函数 该函数将用户返回到注册表以完成一些缺少的表单 由于某种原因它无法正常工作 这是我
  • Mongodb-在现有集合上添加唯一索引

    我正在尝试学习 Mongodb 中的索引 我创建了一个数据库和一个集合 如下所示 use mydb db createCollection myFirstCollection one name Helios two name Kepler
  • JavaFX 在场景图控件上循环

    如何循环控制场景 我尝试使用 getChildrenUnmodifying 但它仅返回第一级子级 public void rec Node node f node if node instanceof Parent Iterator
  • pytorch如何设置.requires_grad False

    我想冻结我的一些模型 按照官方文档 with torch no grad linear nn Linear 1 1 linear eval print linear weight requires grad 但它打印True代替False
  • 如果发出 SIGINT 或 SIGSTP,是否会调用析构函数?

    我有一个带有用户定义析构函数的类 如果类最初被实例化 然后在程序运行时发出 SIGINT 在 unix 中使用 CTRL C 析构函数会被调用吗 SIGSTP unix 中的 CTRL Z 的行为是什么 不会 默认情况下 大多数信号都会导致
  • 分离 __iter__ 和 __next__ 方法

    在Python 3中 通过定义一个类同时成为可迭代器和迭代器是标准过程 iter and next 方法 但我很难理解这一点 以创建一个仅生成偶数的迭代器为例 class EvenNumbers def init self max self
  • .STACK 未在 MASM 中分配正确的大小

    基于微软MASM文档 https learn microsoft com en us cpp assembler masm dot stack view vs 2019 STACK指令的用法是 与 MODEL 一起使用时 定义堆栈段 段名称
  • jQuery 显示带有 More 和 Less 链接的第一个 X 元素

    我试图找到一个 jQuery 解决方案 在左侧导航过滤器中显示每个菜单上的前 3 个项目 并带有 显示更多 和 显示更少 链接 使用户能够扩展列表 我已经寻找了一个解决方案 但大多数展开 折叠脚本完全隐藏图层 而其他脚本则显示展开 显示更多
  • Android 应用程序仅在发布 APK 时崩溃

    我有一个好奇的问题 我构建了一个在调试模式下运行良好的应用程序 直接调试我的手机并在手机上安装了调试 APK 但如果我使用发布构建 APK 该应用程序会在某一时刻崩溃 我发现应用程序在发布 APK 时崩溃 但我不知道为什么以及我能做什么 p
  • Passenger Standalone 在触摸 restart.txt 时不会重新启动

    我构建了一个小部署脚本 其工作方式与 Capistrano 类似 它将 Rails 应用程序检出到带时间戳的目录并设置current当一切顺利时链接到该链接 问题是 在触摸 tmp restart txt 时 什么也没有发生 我想知道这是否
  • 匹配两个列表之间的相似元素

    我是 python 新手 所以如果这是一个愚蠢的问题 我深表歉意 我有两个清单 L1 marvel audi mercedez honda and L2 marvel comics bmw mercedez benz audi 我想提取其中
  • 在 Windows 上安装 pyspark

    我可以做一个pip install pyspark在我的窗户上 当我尝试运行下面的示例脚本时 它告诉我我的SPARK HOME未设置 我还需要设置 SPARK HOME 吗 我该怎么做 我在网上提到的博客从 Spark 网站手动提取 Spa