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.mfbz.cn/a/330967.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++编写、生成、调用so库详解(二)

我们上篇中主要讲了怎么去打包so库 C编写、生成、调用so库详解(一) 这篇我们就来说一些怎么调用so库 目录 1.调用符合JNI标准的so库 2.调用不符合JNI标准的so库 上面说了两种不同类型的so库,我们分别来看一下怎么调用这两种,在调用so库之前,我们先说一下直接调用上面写的C…

TQ7.2 CPG1000A,荧光淬灭剂Tide Quencher 7.2 CPG 1000A,可以用于研究荧光标记分子的动力学行为

您好,欢迎来到新研之家 文章关键词:Tide Quencher 7.2 CPG 1000A, TQ7.2 CPG1000A,荧光淬灭剂Tide Quencher 7.2 CPG 1000A 一、基本信息 产品简介:Tide Quencher 7.2 CPG 1000A can quench fluorescence signals. …

如何搭建Z-blog网站并结合内网穿透实现无公网ip访问本地站点

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员,自己搭建网站制作网页是绕…

消息队列的作用与使用场景?

一、消息队列的作用 队列的主要作用是消除高并发访问高峰,加快网站的响应速度。 在不使用消息队列的情况下,用户的请求数据直接写入数据库,在高并发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧。 …

安科瑞电表实现碳排放量计量——安科瑞 顾烊宇

让碳排放像电能一样方便记录 据国网苏州供电公司最新消息,江苏首个基于国网智能物联电表架构的“电碳表”项目日前在苏州试点应用,能实现电力“生产—传输—消费”全环节碳排放量的实时精准计量,让碳排放像电能一样方便记录。 电碳表是一种…

【源码赏析】:NodeEdit

一、运行效果图 总的来说还是比较流畅,也比较适合我们在此基础上进行二次开发,定义一些跟自己业务相关的节点控件。 另外,在 《Qt通用属性工具:随心定义,随时可见(一)》 系列博文中,…

【AI的未来 - AI Agent系列】【MetaGPT】4. ActionNode从理论到实战

文章目录 0. ActionNode基础0.1 官方解释0.2 我的理解0.3 ActionNode的数据结构0.4 如何使用ActionNode 1. ActionNode简单实战1.1 思考并返回特定格式的数字1.1.1 定义两个ActionNode1.1.2 为这两个动作节点设置一个父节点1.1.3 定义一个Action来承载上面的ActionNode 1.2 逐个…

Baichuan2百川模型部署的bug汇总

1.4bit的量化版本最好不要在Windows系统中运行,大概原因报错原因是bitsandbytes不支持window,bitsandbytes-windows目前仅支持8bit量化。 2. 报错原因是机器没有足够的内存和显存,offload_folder设置一个文件夹来保存那些离线加载到硬盘的权…

spring springfox-swagger2 2.7.0配置

springboot版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath/> <!-- lookup parent from repository -->…

什么是小程序?特点和技术架构详解

小程序是一种新的移动应用程序格式&#xff0c;一种结合了 Web 技术以及客户端技术的混合解决方案。 传统的原生应用运行起来比较流畅&#xff0c;但是也有天然的基因缺陷&#xff1a; 不支持动态化&#xff0c;发布周期长需要开发Android和iOS两套代码&#xff0c;开发成本高…

使用原生input模拟器样式正常,但是真机上 input框溢出

目录 一、问题 二、解决方法 三、总结 tiips:如嫌繁琐&#xff0c;直接移步总结即可&#xff01; 一、问题 1.使用原生input写了一个搜索框&#xff0c;在模拟器和pc上一切正常。但是打包放到手机上&#xff0c;样式就有问题&#xff1a;这个搜索框的布局是正常的&#xf…

pycharm管理仓库(Manager Repository)不见了

经常使用pycharm的大佬们都知道&#xff0c;pycharm中内置了很多库和包&#xff0c;很好用 但是下载来用自带的源很麻烦&#xff0c;于是就用国内的源 可以当我们添加管理仓库的时候&#xff0c;却没有了按钮&#xff0c;如何解决呢&#xff1f; 回到pycharm的主界面&#xf…

【C++】STL 算法 - 累加填充算法 ( 元素累加算法 - accumulate 函数 | 元素填充算法 - fill 函数 )

文章目录 一、元素累加算法 - accumulate 函数1、函数原型分析2、代码示例 二、元素填充算法 - fill 函数1、函数原型分析2、代码示例 一、元素累加算法 - accumulate 函数 1、函数原型分析 在 C 语言 的 标准模板库 ( STL , STL Standard Template Library ) 中 , 提供了 accu…

Unity3D代码混淆方案详解

背景 Unity引擎使用Mono运行时&#xff0c;而C#语言易受反编译影响&#xff0c;存在代码泄露风险。本文通过《QQ乐团》项目实践&#xff0c;提出一种适用于Unity引擎的代码混淆方案&#xff0c;以保护代码逻辑。 引言 在Unity引擎下&#xff0c;为了防止代码被轻易反编译&a…

AVL树 -- C++实现

AVL树 – C实现 1. AVL树的概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1…

组件v-model(.sync)记录使用(vue3)

示例&#xff08;演示地址&#xff09; 以下是Vue3中使用v-model实现组件的双向数据绑定的示例代码&#xff1a; 首先&#xff0c;让我们来了解一下Vue3中v-model的用法。在Vue3中&#xff0c;v-model 指令可以用于自定义组件上&#xff0c;用于实现组件的双向数据绑定。与Vue2…

为什么选择HelpLook而不是Document360:知识库工具分析

在现今的信息化时代&#xff0c;企业们越来越倾向于使用知识库工具来收集、组织和分享他们的知识资源。HelpLook和Document360是市面上两款不错的知识库管理工具。那如果非要在他们之中选一个&#xff0c;还是建议HelpLook。以下是一些对比分析&#xff0c;希望可以给大家提供参…

Python通过HTTP代理进行数据传输

在Python中&#xff0c;HTTP代理是一种常用的技术&#xff0c;用于控制和修改HTTP请求和响应。通过使用HTTP代理&#xff0c;我们可以更好地控制网络请求的行为&#xff0c;提高安全性、隐私性和效率。下面我们将详细介绍如何在Python中使用HTTP代理进行数据传输。 一、设置HT…

tinyxml2

使用tinyxml2&#xff0c;得知道一些xml基础 xml tutorial--菜鸟 tinyxml2类对象 链接 结构 XMLNode 什么是节点 节点&#xff1a;元素、声明、文本、注释等。 XMLDocument xml文档(文件)对象。 作用&#xff1a; 加载xml文件&#xff0c; tinyxml2作用 先定义两个宏 …

Elasticsearch各种高级文档操作

本文来记录下Elasticsearch各种文档操作 文章目录 初始化文档数据查询所有文档匹配查询文档关键字精确查询文档多关键字精确查询文档字段匹配查询文档指定查询字段查询文档过滤字段查询文档概述指定想要显示的字段示例指定不想要显示的字段示例 组合查询文档范围查询文档概述使…