ubuntu 20.04 安裝spark

安裝openjdk21

  1. 下載
wget https://download.java.net/openjdk/jdk21/ri/openjdk-21+35_linux-x64_bin.tar.gz
  1. 解壓
tar -xvf openjdk-21+35_linux-x64_bin.tar.gzsudo mv jdk-21/ /opt/jdk-21/
  1. 設置環境變量
echo 'export JAVA_HOME=/opt/jdk-21' | sudo tee /etc/profile.d/java21.sh
echo 'export PATH=$JAVA_HOME/bin:$PATH'|sudo tee -a /etc/profile.d/java21.sh
source /etc/profile.d/java21.sh
  1. 驗證安裝
java --version

安裝spark

  1. 安裝組件
sudo apt update
sudo apt install default-jdk scala git -y
java -version; javac -version; scala -version; git --versionCopied!
  1. 下載spark
mkdir /home/yourname/spark
cd spark/
wget https://dlcdn.apache.org/spark/spark-3.5.6/spark-3.5.6-bin-hadoop3.tgz
  1. 驗證下載的包
cd /home/yourname/spark
wget https://dlcdn.apache.org/spark/spark-3.5.6/spark-3.5.6-bin-hadoop3.tgz.sha512shasum -a 512 -c spark-3.5.6-bin-hadoop3.tgz.sha512

在這里插入圖片描述
4. 解壓

tar -xvf spark-3.5.6-bin-hadoop3.tgz
  1. 解壓后即可,驗證安裝
/home/yourname/spark/spark-3.5.6-bin-hadoop3/bin/spark-shell --version

在這里插入圖片描述

  1. 設置環境變量
vim ~/.profileexport SPARK_HOME=/home/yourname/spark/spark-3.5.6-bin-hadoop3/
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbinsource ~/.profile
  1. 配置遠程連接
 cp spark-defaults.conf.template spark-defaults.conf添加以下內容
spark.ui.host 0.0.0.0spark.ui.port 8080
  1. 設置spark env
 cp spark-env.sh.template spark-env.sh添加以下內容
export JAVA_HOME=/opt/jdk-21/
SPARK_MASTER_HOST=192.168.220.132
SPARK_MASTER_PORT=7077
  1. Start Standalone Spark Master Server
$SPARK_HOME/sbin/start-master.sh訪問本機8080端口即可訪問

在這里插入圖片描述
10. 啟動一個worker

$SPARK_HOME/sbin/start-worker.sh spark://192.168.220.132:7077
  1. Basic Commands to Start and Stop Master Server and Workers
    The following table lists the basic commands for starting and stopping the Apache Spark (driver) master server and workers in a single-machine setup.
CommandDescription
start-master.shStart the driver (master) server instance on the current machine.
stop-master.shStop the driver (master) server instance on the current machine.
start-worker.sh spark://master_server:portStart a worker process and connect it to the master server (use the master’s IP or hostname).
stop-worker.shStop a running worker process.
start-all.shStart both the driver (master) and worker instances.
stop-all.shStop all the driver (master) and worker instances.

Pyspark 讀csv

  1. 安裝與spark相同版本的pyspark
pip install pyspark==3.5.6
如果你之前安裝了別的版本,在你卸載后,最好將package路徑下的pyspark文件夾也刪除
  1. 本地調試
from pyspark.sql import SparkSession
import os
os.environ["JAVA_HOME"] = r"D:\java21opensdk\jdk-21.0.1"spark = SparkSession.builder \.appName("test") \.getOrCreate()# .master("spark://192.168.220.132:7077") \# .getOrCreate()path = r"C:\Users\test\Desktop\test.csv"df = spark.read.csv(path,header=True, inferSchema=True)
rows = df.collect()for row in rows:print(row.asDict())
  1. 使用worker運行
from pyspark.sql import SparkSession
import os
os.environ["JAVA_HOME"] = r"D:\java21opensdk\jdk-21.0.1"spark = SparkSession.builder \.appName("test") \.master("spark://192.168.220.132:7077") \.getOrCreate()
# 注意這個csv文件需要傳遞到spark服務器上
path = "file:///opt/data/test.csv"df = spark.read.csv(path,header=True, inferSchema=True)
rows = df.collect()for row in rows:print(row.asDict())

參考

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/96014.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/96014.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/96014.shtml

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

相關文章

第三方區塊鏈應用測評:【多簽錢包合約安全評估_閾值簽名機制與私鑰存儲安全性測試】

閾值簽名機制安全測試密碼學審計 采用門限簽名方案(TSS)的多簽錢包需驗證其閾值BLS簽名或ECDSA簽名算法的正確性。測試重點包括:分布式密鑰生成(DKG)過程的保密性(無密鑰信息泄露)、簽名碎片驗證…

大模型處理長文檔的挑戰和解決方案?

當前,AI 應用正處于極速發展階段,大語言模型(LLM)與檢索增強生成(RAG)系統已成為構建智能問答、知識管理等高階 AI 應用的核心引擎,被廣泛應用于金融分析、學術研究、企業合規等多個領域。然而&…

JavaWeb--day1--HTMLCSS

(以下內容全部來自上述課程及課件) web開發介紹 1. 什么是web? Web:全球廣域網,也稱為萬維網,能夠通過瀏覽器訪問的網站。 2. Web網站的工作流程 3. Web標準 Web標準也稱為網頁標準,由一系列的標準組成&#xf…

OpenEuler安裝gitlab,部署gitlab-runner

目錄 一、安裝gitlab 二、安裝部署docker設置源 三、下載部署runner ?編輯 四、構建CI/CD 一、安裝gitlab 1.查看OpenEuler版本 [rootlocalhost ~]# cat /etc/os-release NAME"openEuler" VERSION"24.03 (LTS-SP1)" ID"openEuler" VERSI…

實戰項目-----在圖片 hua.png 中,用紅色畫出花的外部輪廓,用綠色畫出其簡化輪廓(ε=周長×0.005),并在同一窗口顯示

實戰項目實現以下功能:對圖片 hua.png 進行輪廓提取,并在同一窗口中完成以下兩個繪制操作:用紅色畫出花的外部輪廓(即最外層輪廓)用綠色畫出該輪廓的近似多邊形,其中近似精度參數 ε 設置為輪廓周長的 0.00…

開源鴻蒙北向框架開發:系統服務理論詳解

系統服務的啟動 基本可以認為:OpenHarmony 的系統服務進程都是“由 init 直接或間接拉起”的。 直接方式: init 按 /system/etc/init/.cfg 啟動可執行(如 /system/bin/sa_main、/system/bin/samgr 等),這些進程的 PPid…

龍虎榜——20250909

上證指數今天縮量收陰線,跌破10日均線,目前日線總體處于高位寬幅震蕩中,小級別暫未明確方向,指數面臨方向選擇,需要注意高位股的風險。 深證指數今天縮量收陰線,跌破5日均線,接下來幾天方向的選…

基于dijkstra算法的WSN網絡MAC協議matlab仿真,分析網絡延遲與網絡開銷

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.部分程序 4.算法理論概述 5.完整程序 1.程序功能描述 無線傳感器網絡(WSN, Wireless Sensor Network)是由大量低成本、低功耗的傳感器節點組成,通過無線通信實現數據采集、傳輸與…

ES數據庫啟動時可以設置1G一下內存嗎

可以,但強烈不建議在生產環境中這樣做。ES 7.0 版本確實可以設置小于 1GB 的堆內存,但這會帶來嚴重的性能問題和穩定性風險。 快速回答 # 最小化配置示例 - 僅用于測試或開發環境 export ES_JAVA_OPTS"-Xms512m -Xmx512m" ./bin/elasticsearch…

TI-92 Plus計算器:單位換算功能介紹

1 TI-92 Plus計算器:單位換算功能介紹 TI-92 Plus 內置了全面的單位換算功能,支持長度、質量、時間、溫度、面積、體積、速度等數十種物理量的單位轉換,操作直觀,無需手動輸入換算系數。以下是具體使用方法、示例及功能特點&#…

雪球科技Java開發工程師筆試題

單選 1.下列哪些語句關于內存回收的說明是正確的?( C ) A.內存回收程序允許程序員直接釋放內存 B.程序員必須創建一個線程來釋放內存 C.內存回收程序負責釋放無用內存 D.內存回收程序可以在指定的時間釋放內存對象 2.以下哪項不是Java基礎類型(A) A.String B.int C.b…

NV3041A-01芯片屏幕

1. 核心概覽這是一款集成了電源管理、顯示內存(RAM)、時序控制等多種功能的單片顯示驅動芯片(通常稱為Driver IC)。它采用COG(Chip-On-Glass) 工藝,直接將芯片綁定在玻璃基板上,使得…

aiagent知識點

一、MCP (Model Context Protocol) 1. 核心概念是什么:MCP是一個開放協議,用于在應用(如IDE、Agent) 和工具/數據源(如服務器、數據庫) 之間建立標準化的通信。目標:解決AI工具生態的碎片化問題…

第2節-過濾表中的行-WHERE

摘要:在本教程中,您將學習如何使用 PostgreSQL 的 WHERE 子句來篩選表中的行。 PostgreSQL WHERE 子句 SELECT FROM 語句從表中所有行的一個或多個列中查詢數據。實際上,你經常需要選擇滿足某個條件的行。 要根據條件從表中篩選行&#xf…

IACheck賦能AI環評報告審核,推動環保設備制造行業發展

在“雙碳目標”和綠色制造的背景下,環保設備制造行業正在迎來快速發展。然而,環評報告作為項目合規的“通行證”,卻一直是企業最頭疼的環節之一:編寫復雜、審核周期長、錯誤率高。傳統的審核模式不僅耗時耗力,還容易出…

常見的多態

一、核心概念多態(Polymorphism) 的字面意思是“多種形態”。在Java中,它指的是:同一個行為(方法)具有多個不同表現形式或形態的能力。更具體地說,它允許你:父類的引用指向子類的對象…

20250909_排查10.1.1.190檔案庫房綜合管理系統20250908備份缺失問題+優化scp腳本(把失敗原因記錄進日志)并測試腳本執行情況

目錄 一、現象(圖中現象) 二、可能原因 1、本地源文件沒生成(最可能原因) 2、清理邏輯誤刪 三、時間同步檢查 1、運行命令查看當前時間源:w32tm /query /source 2、修改為內網 NTP 服務器 10.1.10.251: 四、腳本優化 1、scp.bat vs roboscp.bat 對比表 2、robo…

OpenHarmony之有源NFC-connected_nfc_tag模塊詳解

1. 模塊概述 Connected NFC Tag模塊是OpenHarmony NFC子系統的一部分,專門用于處理有源NFC標簽的讀寫操作。與基礎NFC模塊不同,該模塊專注于與已連接的有源NFC標簽進行交互,提供更高層次的API供應用層使用。 設備必須具備有源NFC標簽芯片,才能使用有源NFC標簽的讀和寫服務…

MySql案例詳解之事務

下面我會從“事務是什么”→“為什么需要事務”→“事務的四大特性(ACID)”→“MySQL中怎么用事務”→“常見坑與調試技巧”→“完整實戰案例(含代碼、輸出、講解)”六個層次,給你一個“看完就能上手”的MySQL事務速查…

Linux之環境變量(內容由淺入深,層層遞進)

一、概念介紹(來源:比特就業課)環境變量一般是指在操作系統中用來指定操作系統運行環境的一些參數環境變量通常具有某些特殊用途,并且在系統中通常具有全局特性二、現象引入與解答 1.為什么像ls這樣的系統指令可以直接執行&#x…