Pyspark 安装(Mac M2版)

引言

  • 本文为个人本地部署pyspark遇到的问题以及解决办法,包含个人的一些理解,仅供参考。
  • 设备: Mac M2

安装过程

安装HomeBrew

  • Mac 上用来管理安装包的,可能早期的 Macos 自带但是起码我个人的 Mac 是需要安装的(以下安装方法个人为测试,之前这个包已经装过了)
  • zsh 和 bash 应该是都可以的,仅供参考。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装Java和 Scala

  • spark是使用scala语言来完成编写的,而scala语言是依赖于java虚拟机来运行的,因此我们需要安装这两者
brew cask install java # 可能无效
brew install scala

brew 安装

image
image

单独安装 Java

  • 由于上面指令虽然没有报错但是在下面配置 Java 环境的时候找不到对应的目录,说明大概率是没有正确安装成功的(如图找不到对应的路径)。
    Java 官网地址
    image

  • 选择你对应的版本即可(M 选择 ARM,intel 选择 X64)
    image

  • 验证 Java 安装成功可以使用java -version来验证

  • 查找 Java 安装路径可以使用/usr/libexec/java_home -V
    image

安装 apache-spark

brew install apache-spark

检查依赖

brew doctor
  • 可以检查出是否缺少依赖的包,根据提示安装就行

安装pyspark(可以使用国内镜像源)

pip install pyspark

配置环境

  • Mac新操作系统的shell用zsh,因此需要设置.zshrc(没有的话在用户home目录下创建一个新的),如果是老系统的话shell使用的是bash,因此需要对应的设置.bashrc文件, 其实吧,我用下面这个指令就可以
  • vim ~/.bash_profile

配置 Java

export JAVA_HOME=/Library/java/JavaVirtualMachines/adoptopenjdk-8.jdk/contents/Home/
export JRE_HOME=/Library/java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/
  • Java 路径如何查看上方已经写了,替换为自己的路径即可
  • Java 没变量没配置好可能出现
    image

配置 spark

export SPARK_HOME=/usr/local/Cellar/apache-spark/2.4.5/libexec
export PATH=/usr/local/Cellar/apache-spark/2.4.5/bin:$PATH
  • 如何查找自己的 spark 安装目录
    • 显然下面这个是不行的
      image
      image
  • 其实查找的是apache-spark的目录brew info apache-spark
  • 找到后替换 spark 的路径

配置 scala

  • 虽然参考资料里有的配置了有的没配置,个人还是配置了 Scala 路径,hadoop 没有下载也未配置,本地测试貌似不需要
  • brew info scala模仿 java 的配置信息即可

设置 pyspark 的环境变量

which python
  • 首先替换自己的 Python 路径,然后此处设置的设备是 jupyter notebook,如果不使用可以不配置
export PYSPARK_PYTHON=/Users/duan/.virtualenvs/py3/bin/python3
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'
  • 如果配置好了就会出现下图情况,此处设置了(jupyter)
    image

结尾

  • 以下参考文章都或多或少需要个人参考的时候遇到了新的问题,可以酌情参考
  • 关于本文安装的 pyspark 因为配置的是 jupyter,如果单独使用的配置,后续随着测试的进行可能会进行修改,所以本文仅供参考。
  • 参考 1
  • 参考 2
  • 参考 3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter-BeanShell脚本中for循环里面使用random随机数函数,每次生成的都一样

预想的是每次循环生成的随机数不一样,但实际使用Random函数生成的是重复的。 以下是部分原代码: List updateList new ArrayList(); for(Object o: fieldList){Map map new HashMap();map.put("id", o.get("id"));map.put("…

异步Merkle Tree

1. 引言 前序博客: 利用多核的Rust快速Merkle tree Anoushk Kharangate 2023年论文《Asynchronous Merkle Trees》,其对Merkle tree数据结构进行修改,使得可跨多线程异步计算。 开源代码实现见: https://github.com/anoushk1…

【MySQL】所有文章传送门【自用】(暂不更新)

目录 1. MySQL 教程2. MySQL 实战项目 1. MySQL 教程 MySQL教程【自用,暂不公开】【数据库——MySQL】(1)数据库原理与设计【数据库——MySQL】(2)数据库和表的操作【数据库——MySQL】(3)对于…

Java SE入门及基础(19)

二维数组 1. 数组的本质 数组从本质上来说只有一维,二维数组是指在一维数组中再放入一个一维数组。三维数组、四维数组依次类推。 2. 二维数组的定义 语法 数据类型[][] 数组名 new 数据类型[数组的长度][数组的长度]; 示例 public static void main ( Str…

解密Oracle数据库引擎:揭开数据存储的神秘面纱

目录 1、介绍Oracle数据库引擎 1.1 什么是Oracle数据库引擎 1.2 Oracle数据库引擎的作用和功能 1.3 Oracle数据库引擎的历史和发展 2、Oracle数据库引擎的体系结构 2.1 Oracle数据库实例的组成部分 2.2 Oracle数据库引擎的层次结构 2.3 Oracle数据库引擎的关键组件 3、…

Uniapp多选Popup(弹出层)

uniapp中多选组件很少,故个人简单开发了一个,可简单使用,也可根据个人需求稍微改进 支持的功能 单选多选(默认)限制选择数量默认选中禁用选项 属性说明 属性默认值说明singlefalsetrue为开启单选,否则为…

FFMPEG命令生成各国国旗

文章目录 亚洲篇中国~待完善朝鲜~待补充韩国~待补充蒙古~待补充日本越南~待补充老挝 欧洲篇挪威~待补充瑞典~待补充芬兰~待补充冰岛~待补充丹麦~待补充爱沙尼亚拉脱维亚立陶宛白俄罗斯~待补充乌克兰摩尔多瓦~待补充俄罗斯德国 亚洲篇 中国~待完善 先画个五角星 在100x100的画…

Tokenization 指南:字节对编码,WordPiece等方法Python代码详解

在2022年11月OpenAI的ChatGPT发布之后,大型语言模型(llm)变得非常受欢迎。从那时起,这些语言模型的使用得到了爆炸式的发展,这在一定程度上得益于HuggingFace的Transformer库和PyTorch等库。 计算机要处理语言,首先需要将文本转…

在自定义数据集上训练 YOLOv8 进行目标检测

这是目标检测中令人惊叹的 AI 模型之一。在这种情况下,您无需克隆存储库、设置要求并配置模型,就像在 YOLOv5 及其之前的版本中所做的那样。 在 YOLOv8 中,不需要执行这些手动任务。您只需安装 Ultralytics 即可,我将向您展示如何…

uniapp开发小程序—scroll-view实现内容滚动时, 标题也滚动

一、需求 scroll-view实现内容滚动时&#xff0c; 标题也滚动 二、效果 三、代码实现 <template><view class"content"><view class"head">头部固定区域</view><view class"list_box"><!-- 菜单左边 -->&l…

React16源码: React中的beginWork的源码实现

beginWork 1 &#xff09;概述 在 renderRoot 之后&#xff0c;要对我们的 Fiber 树每一个节点进行对应的更新更新节点的一个入口方法&#xff0c;就是 beginWork这个入口方法会有帮助我们去优化整棵树的更新过程 react 它的节点其实是非常多的&#xff0c;如果每一次子节点的…

学习 SSR(Server-Side Rendering)的心得和体会

学习SSR&#xff08;Server-Side Rendering&#xff09;的心得和体会 引言 在现代的前端开发中&#xff0c;性能优化和用户体验始终是核心考量之一。而在众多优化策略中&#xff0c;服务器端渲染&#xff08;Server-Side Rendering&#xff0c;简称SSR&#xff09;是一个重要…

netty 使用证书

1创建私钥&#xff08;.key&#xff09; openssl genrsa -out server.key 2048 2基于私钥&#xff08;.key&#xff09;创建证书签名请求&#xff08;.csr&#xff09; openssl req -new -key server.key -out server.csr -config ./…/ssl.cnf 3.生成CA私钥&#xff08;ca…

【c++】栈(satck)和队列(queue)

目录 一、stack 1.stack的介绍 2.stack的使用 3.stack的模拟实现 二、queue 1.queue的介绍 2.queue的使用 3.queue的模拟实现 三、priority_queue 1.priority_queue的介绍 2.priority_queue的使用 一、stack 1.stack的介绍 &#xff08;1&#xff09;stack是一种容…

kotlin 和 java 的区别

一、什么是kotlin&#xff1f; Kotlin&#xff08;科特林&#xff09;是一个用于现代多平台应用的静态编程语言&#xff0c;由 JetBrains 开发。Kotlin可以编译成Java字节码&#xff0c;也可以编译成JavaScript&#xff0c;方便在没有JVM的设备上运行。除此之外Kotlin还可以编…

pytest -- 基本使用详解

1. pytest基本介绍 pytest 是一个功能强大且易于使用的 Python 测试框架&#xff0c;用于编写单元测试、集成测试和功能测试。 它提供了丰富的功能和灵活的用法&#xff0c;使得编写和运行测试变得简单而高效。 --------------->>>>> pytest框架优点&#xff1a…

Git中config配置

文章目录 简介一、config级别二、config基本配置 简介 Git是一个开源的分布式版本控制系统&#xff0c;用于处理各种规模的项目版本管理。它由Linus Torvalds设计&#xff0c;主要用于Linux内核开发。Git的特点包括速度、简单的设计、对非线性开发模式的支持、完全的分布式能力…

springboot(ssm仓库管理系统 wms智能仓储管理系统Java系统

springboot(ssm仓库管理系统 wms智能仓储管理系统Java系统 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xff09; …

企业怎么传输大容量视频?

在企业中&#xff0c;视频的应用越来越广泛&#xff0c;不论是在内部沟通、培训、宣传&#xff0c;还是在外部合作、推广、展示方面&#xff0c;视频都扮演着不可或缺的角色。然而&#xff0c;由于视频文件通常较大&#xff0c;传输时往往会面临网速慢、容量限制、安全风险等问…

flutter 五点一:MaterialApp Theme

ThemeData factory ThemeData({bool? applyElevationOverlayColor, //material2的darkTheme下 增加一个半透明遮罩 来凸显阴影效果 material3下无效 貌似没啥用NoDefaultCupertinoThemeData? cupertinoOverrideTheme, //ios组件样式 Iterable<ThemeExtension<dyn…