当前位置: 首页 > news >正文

mac安装Pyspark并连接Mysql

  1. 安装Scala, apache-spark, Hadoop
brew install scala
brew install apache-spark
brew install hadoop
pip install pyspark

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

  1. 配置环境变量
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_HOMESCALA_HOME=/opt/homebrew/opt/scala
export PATH=$PATH:$SCALA_HOME/binexport SPARK_PATH=/opt/homebrew/Cellar/apache-spark/3.5.4
export PATH=$PATH:$SPARK_PATH/binexport openjdk_home=/opt/homebrew/Cellar/openjdk@17/17.0.14HADOOP_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. 使用如下代码来测试
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)

http://www.lryc.cn/news/539891.html

相关文章:

  • 深入理解Python多进程编程 multiprocessing
  • jQuery AJAX 方法详解
  • 青少年编程都有哪些比赛可以参加
  • sql server 数据库 锁教程及锁操作
  • 存储结构 分类
  • VSCode 中 Git 添加了多个远端,如何设置默认远端
  • 项目中一些不理解的问题
  • vue3 + thinkphp 接入 七牛云 DeepSeek-R1/V3 流式调用和非流式调用
  • Linux应用之构建命令行解释器(bash进程)
  • php 系统命令执行及绕过
  • 保护大数据的最佳实践方案
  • 在高流量下保持WordPress网站的稳定和高效运行
  • Redis7——基础篇(二)
  • Docker 容器安装 Dify的两种方法
  • golang常用库之-swaggo/swag根据注释生成接口文档
  • docker中pull hello-world的时候出现报错
  • NPM环境搭建指南
  • 【CSS进阶】常见的页面自适应的方法
  • Linux系统配置阿里云yum源,安装docker
  • 啥是CTF?新手如何入门CTF?网络安全零基础入门到精通实战教程!
  • 免费搭建个人网站
  • 网络安全钓鱼邮件测试 网络安全 钓鱼
  • Rust编程语言入门教程(五)猜数游戏:生成、比较神秘数字并进行多次猜测
  • haproxy实现MySQL服务器负载均衡
  • Windows桌面系统管理5:Windows 10操作系统注册表
  • CSDN文章质量分查询系统【赠python爬虫、提分攻略】
  • Mysql测试连接失败
  • DeepSeek(AI)如何赋能智能漏洞扫描与利用的思考
  • Springboot使用Redis发布订阅自动更新缓存数据源
  • rust学习六、简单的struct结构