mac安装Pyspark并连接Mysql

  1. 安装Scala, apache-spark, Hadoop
bash 复制代码
brew install scala
brew install apache-spark
brew install hadoop
pip install pyspark

注意不要自己另外安装jdk, 会造成版本对不上报错。因为安装apache-spark的过程中会自动安装openjdk。

  1. 配置环境变量
bash 复制代码
JAVA_HOME=/opt/homebrew/Cellar/openjdk@11/11.0.26/libexec/openjdk.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export JAVA_HOME

SCALA_HOME=/opt/homebrew/opt/scala
export PATH=$PATH:$SCALA_HOME/bin

export SPARK_PATH=/opt/homebrew/Cellar/apache-spark/3.5.4
export PATH=$PATH:$SPARK_PATH/bin

export openjdk_home=/opt/homebrew/Cellar/openjdk@17/17.0.14


HADOOP_HOME=/opt/homebrew/Cellar/hadoop/3.4.1
export PATH=$PATH:/$HADOOP_HOME/bin

注意jdk版本不对会造成Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.: java.lang.UnsupportedOperationException: getSubject is supported only if a security manager is allowed

  1. 下载jdbc driver
    链接, 选择 Platform Independent

将下载的解压包中的jar文件拷贝到apache-spark的目录下: /opt/homebrew/Cellar/apache-spark/3.5.4/libexec/jars

  1. 使用如下代码来测试
python 复制代码
from pyspark.sql import SparkSession
from pyspark import SparkContext

# sc = SparkContext.getOrCreate()

sparkdriver = SparkSession.builder.\
    appName('demo').\
    master('local[*]').\
    config('spark.driver.extraClassPath', '/opt/homebrew/Cellar/apache-spark/3.5.4/libexec/jars/mysql-connector-j-9.2.0.jar').\
    getOrCreate()
    
df_mysql = sparkdriver.read.format('jdbc').\
    option('url', 'jdbc:mysql://localhost:3306').\
    option('driver', 'com.mysql.jdbc.Driver').\
    option('user', 'root').\
    option('password', '123').\
    option('query', 'select * from tablename').\
    load()

df_mysql.show(10)

Connect MySQL with PySpark using JDBC Connector (Mac 2022)

相关推荐
Coder_Boy_7 分钟前
基于SpringAI的在线考试系统-智能考试系统-学习分析模块
java·开发语言·数据库·spring boot·ddd·tdd
阿杰 AJie11 分钟前
MySQL 聚合函数总表(完整版)
数据库·mysql
玄同76520 分钟前
Python「焚诀」:吞噬所有语法糖的终极修炼手册
开发语言·数据库·人工智能·python·postgresql·自然语言处理·nlp
cdut_suye22 分钟前
解锁函数的魔力:Python 中的多值传递、灵活参数与无名之美
java·数据库·c++·人工智能·python·机器学习·热榜
尽兴-24 分钟前
MySQL 8.0高可用集群架构实战深度解析
数据库·mysql·架构·集群·高可用·innodb cluster
遇见火星30 分钟前
MySQL常用命令大全(2026最新版)
数据库·mysql·oracle
霖霖总总1 小时前
[小技巧42]InnoDB 索引与 MVCC 的协同工作原理
运维·数据库·mysql
未来之窗软件服务1 小时前
计算机等级考试—数据库完整性进销存—东方仙盟练气期
数据库·oracle·计算机软考·仙盟创梦ide·东方仙盟
weixin_541299941 小时前
鸿蒙应用开发:保存应用数据 - 关系型数据库的使用
数据库·oracle·harmonyos
wei_shuo1 小时前
Oracle数据库迁移至KingbaseES:完整实战指南
数据库·oracle