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.pswp.cn/news/895763.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895763.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895763.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Go語言快速上手】第二部分:Go語言進階之網絡編程

文章目錄 前言:網絡編程一、TCP/UDP 編程:net 包的使用1. TCP 編程1.1 TCP 服務器1.2 TCP 客戶端 2. UDP 編程2.1 UDP 服務器2.2 UDP 客戶端 二、HTTP 編程:net/http 包的使用,編寫 HTTP 服務器和客戶端2.1 HTTP 服務器2.2 HTTP 客…

王炸 用AI+飛書 分解 一鍵生成 項目計劃表模版

效果圖: 各字段設置: 以下是一個使用 AI(DeepSeeker) 飛書多維表格分解項目待辦模板的示例,你可以根據實際情況進行調整和優化: 列表中需要選擇對象,且選擇輸出結果(記得控制字符長度…

從月牙定理看古希臘數學的奇妙突破

文章目錄 每日一句正能量前言古希臘人的 “化圓為方” 之夢(一)幾何作圖的基本規則(二)化圓為方問題的起源與發展(三)化圓為方的意義 月牙面積定理的誕生(一)希波克拉底的生平與成就…

實戰:vLLM多機多卡部署大模型

兩臺服務器 1. Docker容器中使用GPU 必須確保已安裝并配置 NVIDIA Docker。你可以安裝 nvidia-docker 來確保 GPU 驅動能夠被 Docker 使用 #安裝 nvidia-docker: sudo apt-get install nvidia-docker2#然后重啟 Docker: sudo systemctl restart docke…

LLM中種子(Seed)作用是什么:多樣性

LLM中種子(Seed)作用是什么:多樣性 目錄 LLM中種子(Seed)作用是什么:多樣性作用舉例不同種子的區別設置不同種子的原因在LLM(大語言模型)中,種子(Seed)用于初始化隨機數生成器,發揮著確保結果可重復性的關鍵作用,具體如下: 作用 當大語言模型生成文本時,很多操…

neo4j二進制部署

neo4j二進制部署 下載所需組件 jdk 17 neo4j 5.2.0 配置文件 server.default_listen_address0.0.0.0環境變量 export JAVA_HOME/usr/local/jdk-17.0.13 export CLASSPATH.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH$…

Win10環境使用零訊ZeroNews內網穿透實現Deepseek對外服務

Win10環境使用零訊ZeroNews內網穿透實現Deepseek對外服務 前言 之前筆者已經在Win10環境搭建好了Ollama、DeepSeek、Open WebUI、Dify等組件,成功實現了私有化部署及內網訪問: https://lizhiyong.blog.csdn.net/article/details/145505686 https://l…

spconv 安裝測試

pip install spconv 報錯: File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl return self._call_impl(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/mod…

MySQL 查詢緩存技術深度解析

在現代數據庫管理系統中,查詢性能優化是提升應用響應速度和用戶體驗的關鍵環節。MySQL 作為一款廣泛使用的開源關系型數據庫,提供了查詢緩存功能,用于緩存查詢結果,從而在后續相同的查詢請求時能夠快速返回結果,減少數…

halcon 條形碼、二維碼識別、opencv識別

一、條形碼 函數介紹 create_bar_code_model * 1.創建條碼讀取器的模板 * 參數一:通用參數的名稱,針對條形碼模型進行調整。默認值為空 * 參數二:針對條形碼模型進行調整 * 參數三:條形碼模型的句柄。 create_bar_code_model (…

一個簡潔高效的Flask用戶管理示例

Flask-Login 是 Flask 的用戶管理擴展,提供 用戶身份驗證、會話管理、權限控制 等功能。 適用于: ? 用戶登錄、登出 ? 記住用戶(“記住我” 功能) ? 限制未登錄用戶訪問某些頁面 ? 用戶會話管理 1. 安裝 Flask-Login pi…

HashSet 的底層原理(簡單易懂)

在 Java 集合框架中,HashSet 是一個非常常用的集合類,它提供了快速的元素查找和插入操作。那么,HashSet 的底層是如何實現這些高效操作的呢?本文將深入探討 HashSet 的底層原理。 一、HashSet 的基本概念 HashSet 是基于哈希表的…

【學習資源】時間序列數據分析方法(2)-mWDN和AutoEncoder

接著上次的【學習資源】時間序列數據分析方法(1)-CSDN博客,本次介紹mWDN和AutoEncoder 解決時序數據分類的方法。介紹模型原理、應用場景和參考代碼。也從模型性能、訓練效率、模型復雜度、計算復雜度、可解釋性、適應性和泛化能力、健壯性、…

[LeetCode力扣hot100]-鏈表

相交鏈表 160. 相交鏈表 - 力扣(LeetCode) 思路就是遍歷兩個鏈表,有相同的部分就可以視為相交。 但是長度不一樣,比如兩個會相交的鏈表,headA 的長度為 a c,headB 的長度為 b c,其中 c 是公…

JAVA EE初階 - 預備知識(四)

一、API API 即應用程序編程接口(Application Programming Interface),是一組定義、協議和工具,用于不同軟件組件、應用程序或系統之間進行交互和通信。以下從多個方面詳細介紹 API: 基本概念 接口規范:A…

【TI C2000】F28002x的系統延時、GPIO配置及SCI(UART)串口發送、接收

【TI C2000】F28002x的系統延時、GPIO配置及SCI(UART)串口發送、接收 文章目錄 系統延時GPIO配置GPIO輸出SCI配置SCI發送、接收測試附錄:F28002x開發板上手、環境配置、燒錄及TMS320F280025C模板工程建立F28002x敘述燒錄SDK庫文件說明工程建…

親測有效!使用Ollama本地部署DeepSeekR1模型,指定目錄安裝并實現可視化聊天與接口調用

文章目錄 一、引言二、準備工作(Ollama 工具介紹與下載)2.1 Ollama介紹2.2 Ollama安裝 三、指定目錄安裝 DeepSeek R1四、Chatbox 可視化聊天搭建4.1 Chatbox下載安裝4.2 關聯 DeepSeek R1 與 Chatbox 的步驟 五、使用 Ollama 調用 DeepSeek 接口5.1 請求…

期權隱含波動率是什么意思?

財順小編本文主要介紹期權隱含波動率是什么意思?期權隱含波動率(Implied Volatility)是根據當前期權市場價格,利用期權定價模型(如Black-Scholes模型)推導出的關于合約標的理論上的價格波動率。它反映了市場…

Python 面向對象的三大特征

前言:本篇講解面向對象的三大特征(封裝,繼承,多態),還有比較細致的(類屬性類方法,靜態方法),分步驟講解,比較適合理清楚三大特征的思路 面向對象的…

Jmeter如何計算TPS

1.在jmeter中計算出接口請求的個數 1175 1172 1172 174 200 416 384 1174 5867 2.計算接口平均響應時間 計算每個接口的請求次數乘以平均響應時間,所有接口相加,然后除以所有接口的數量總和,得到接口的平均響應時間 (1175*18191172*…