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)

相关推荐
一米阳光86612 小时前
软考(中级)软件设计师核心笔记(3)数据库系统——概念、数据库设计
数据库·笔记·职场发展·软考·软件设计师
奈斯先生Vector3 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
建筑工程企业管理系统5 小时前
erp工程项目管理系统落地价值:实现工程多项目成本精细化核算与管控
大数据·数据库·人工智能
AI大模型-小华5 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
星辰即远方6 小时前
天气预报总结
macos·ios·objective-c·cocoa
foolishlee6 小时前
Neon wal日志处理流程2
数据库
xixiaoyunya6 小时前
Mac远程访问新范式:基于80KM穿云箭的内网穿透技术实践
macos
2601_965798477 小时前
Is Hygia Good for Maid & Janitorial Sites? Technical Audit
服务器·网络·数据库
Cloud云卷云舒7 小时前
海山数据库(HaishanDB)面向工业云场景技术方案
数据库·haishandb·工业云·移动云海山数据库·天工云
逃逸线LOF7 小时前
Spring配置数据源{连接池}(Druid、c3p0)
java·数据库·spring