spark入門-helloword

????????我們學習編程語言的時候,第一個程序就是打印一下 “hello world” ,對于大數據領域的第一個任務則是wordcount。那我們就開始我們的第一個spark任務吧!

下載spark

官方下載地址:Apache Download Mirrors?下載完畢以后,直接tar解壓即可。

本地啟動spark集群

環境只是為了讓我們能夠運行我們的程序,所以我們的任務是寫任務而不是搭建環境。搭建環境的部分,可能運維比我們更專業。

安裝官網我們啟動一個standalon模式 ,Spark Standalone Mode - Spark 4.0.0 Documentation。

啟動完以后master我們就可以在8080端口上看到我們的spark集群了。

接著啟動一個worker,啟動的時候需要master的地址。我們本地啟動的,所以localhost就可以了。./sbin/start-worker.sh ?spark://bogon:7077? ,master的url可以從master 8080的界面看到,這個記得一定要寫正確,要不啟動worker的時候就有問題了。否則這個worker節點不現實worker個數的。

構建我們的jar程序

我們直接參考官網的代碼(注意:這是學習的方式方法,看到別人博客直接寫的入門代碼。其實官方是第一手資料)Spark Streaming - Spark 4.0.0 Documentation?

代碼

def main(args: Array[String]): Unit = {println("======== start ==========")val conf = new SparkConf().setAppName("test")val ssc = new StreamingContext(conf, Seconds(1))val source = ssc.socketTextStream("localhost", 9999)val words = source.flatMap(_.split(","))val paris = words.map(word => (word, 1))val wordCounts = paris.reduceByKey(_ + _)wordCounts.print()ssc.start()ssc.awaitTermination()}

編譯打包jar,然后提交submit

./bin/spark-submit \--class demo.WordCount \--executor-memory 512M  \--total-executor-cores 2 \--master spark://localhost:7077 \--deploy-mode client \--verbose \/path/spark-task-1.0-SNAPSHOT.jar  

Submitting Applications - Spark 4.0.0 Documentation

查看日志打印

總結

????????小結一下,其實看似很簡單的一個demo。過程也是遇到了很多的問題,1、是啟動 worker的時候需要制定master的url地址,這個需要從8080端口查看。2、發現自己的代碼無法提交到集群中,結果發現是代碼里面setMaster了,所以去掉。3、打包的時候提示找不到class,因為是maven構建的java程序。自己添加的scala包,所以需要打包的時候指定一下scala路徑,把下面的class打包進去。

? ? ? ? 多實踐才能發現問題,有時候只是知道了理論,看似懂了,其實離懂了還是差了一些。

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

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

相關文章

雷達系統設計學習:自制6GHz FMCW Radar

國外大神自制6GHZ FMCW Radar開源項目: https://github.com/Ttl/fmcw3 引言 之前我做過一個簡單的調頻連續波(FMCW)雷達,能夠探測到100米范圍內人體大小的物體。雖然它確實能用,但由于預算有限,還有很大的改進空間。 …

系統選擇菜單(ubuntu grub)介紹

好的,我們來詳細解釋一下什么是Ubuntu的GRUB菜單。 簡單來說,GRUB菜單是您電腦啟動時看到的第一個交互界面,它就像一個“系統選擇”菜單,讓您決定接下來要啟動哪個操作系統或進入哪種模式。詳細解釋 1. GRUB是什么? GR…

方案C,version2

實現一個簡單的Helloworld網頁,并通過GitHub Actions自動構建并推送到公開倉庫的gh-pages分支。同時,使用PAT進行認證,確保源碼在私有倉庫中,構建后的靜態文件在公開倉庫中。 重新設計deploy.yml內容如下(針對純靜態文件,無需構建過程): 步驟: 檢出私有倉庫源碼。 由于…

R 語言科研繪圖 --- 其他繪圖-匯總1

在發表科研論文的過程中,科研繪圖是必不可少的,一張好看的圖形會是文章很大的加分項。 為了便于使用,本系列文章介紹的所有繪圖都已收錄到了 sciRplot 項目中,獲取方式: R 語言科研繪圖模板 --- sciRplothttps://mp.…

webpack 原理及使用

【點贊收藏加關注,前端技術不迷路~】 一、webpack基礎 1.核心概念 1)entry:定義入口,webpack構建的第一步 module.exports ={entry:./src/xxx.js } 2)output:出口(輸出) 3)loader:模塊加載器,用戶將模塊的原內容按照需求加載成新內容 比如文本加載器raw-loade…

「日拱一碼」039 機器學習-訓練時間VS精確度

目錄 時間-精度權衡曲線(不同模型復雜度) 訓練與驗證損失對比 帕累托前沿分析(3D) 在機器學習實踐中,理解模型收斂所需時間及其與精度的關系至關重要。下面介紹如何分析模型收斂時間與精度之間的權衡,并…

面試刷題平臺項目總結

項目簡介: 面試刷題平臺是一款基于 Spring Boot Redis MySQL Elasticsearch 的 面試刷題平臺,運用 Druid HotKey Sa-Token Sentinel 提高了系統的性能和安全性。 第一階段,開發基礎的刷題平臺,帶大家熟悉項目開發流程&#xff…

負載均衡、算法/策略

負載均衡一、負載均衡層級對比特性四層負載均衡 (L4)七層負載均衡 (L7)工作層級傳輸層 (TCP/UDP)應用層 (HTTP/HTTPS等)決策依據源/目標IP端口URL路徑、Header、Cookie、內容等轉發方式IP地址/端口替換重建連接并深度解析報文性能更高吞吐量,更低延遲需內容解析&…

StackingClassifier參數詳解與示例

StackingClassifier參數詳解與示例 StackingClassifier是一種集成學習方法,通過組合多個基分類器的預測結果作為元分類器的輸入特征,從而提高整體模型性能。以下是關鍵參數的詳細說明和示例: 1. classifiers(基分類器)…

嵌入式中間件-uorb解析

uORB系統詳細解析 1. 系統概述 1.1 設計理念 uORB(Micro Object Request Broker)是一個專為嵌入式實時系統設計的發布-訂閱式進程間通信框架。該系統借鑒了ROS中topic的概念,為無人機飛控系統提供了高效、可靠的數據傳輸機制。 1.2 核心特征 …

HTTP.Client 庫對比與選擇

HTTP.Client 庫對比與選擇在 Python 中,除了標準庫 http.client,還有許多功能更強大、使用更便捷的 HTTP 庫。以下是一些常用的庫及其特點:1. Requests(最流行)特點:高層 API,簡單易用&#xff…

RabbitMQ面試精講 Day 5:Virtual Host與權限控制

【RabbitMQ面試精講 Day 5】Virtual Host與權限控制 開篇 歡迎來到"RabbitMQ面試精講"系列的第5天!今天我們將深入探討RabbitMQ中Virtual Host與權限控制的核心機制,這是構建安全、隔離的消息系統必須掌握的重要知識。在面試中,面…

【前端實戰】純HTML+CSS+JS實現蠟筆小新無盡冒險:從零打造網頁版超級瑪麗

摘要:本文將詳細介紹一款完全由HTMLCSSJS實現的網頁版橫版闖關游戲——"蠟筆小新無盡冒險"。游戲采用純前端技術實現,無需任何外部依賴,完美復刻了經典超級瑪麗的核心玩法,并創新性地融入了蠟筆小新角色元素。通過本文&…

[工具類] 網絡請求HttpUtils

引言在現代應用程序開發中,網絡請求是必不可少的功能之一。無論是訪問第三方API、微服務之間的通信,還是請求遠程數據,都需要通過HTTP協議實現。在Java中,java.net.HttpURLConnection、Apache的HttpClient庫以及OkHttp等庫提供了豐…

基于Spring Boot的裝飾工程管理系統(源碼+論文)

一、 開發環境與技術 本章節對開發裝飾工程管理系統------項目立項子系統需要搭建的開發環境,以及裝飾工程管理系統------項目立項子系統開發中使用的編程技術等進行闡述。 1 開發環境 工具/環境描述操作系統Windows 10/11 或 Linux(如 Ubuntu&#x…

【WebGPU學習雜記】數學基礎拾遺(2)變換矩陣中的齊次坐標推導與幾何理解

今天打算開始 3D 數學基礎的復習,本文假設你了解以下概念:一次多項式、矩陣、向量,基于以上拓展的概念 歸一化、2~3階矩陣的幾何意義。幾何意義結論 齊次坐標是對三維的人工的特定的升維,它是一個工具而已。圖形學中常…

JS前端壓縮算法——WWDHCAPOF-算法導論論文——東方仙盟算法

代碼function customCompressString(input) {// 第一步:將字符串轉換為ANSI碼數組并乘以位置序號let resultArray Array.from(input).map((char, index) > {const ansiCode char.charCodeAt(0);return ansiCode * (index 東方仙盟); // 位置序號從1開始});// …

linux命令less的實際應用

less 是 Linux/Unix 中交互式文件查看神器,相比 more 和 cat,它支持自由導航、搜索、高亮等強大功能,尤其適合處理大文件或實時日志。以下是深度應用指南:?一、核心優勢?less large_file.log # 秒開GB級文件&#xff08…

DAY31 整數矩陣及其運算

DAY31 整數矩陣及其運算 本次代碼通過IntMatrix類封裝了二維整數矩陣的核心操作,思路如下:數據封裝→基礎操作(修改和獲取元素、獲取維度,toString返回字符串表示,getData返回內部數組引用)→矩陣運算&…

飛槳深度學習環境搭建

一、安裝 PyCharm PyCharm 官網下載頁面 記得全部勾選。 二、安裝 miniconda miniconda 官網下載頁面 根據你的操作系統選擇。 記得勾選前三個。 三、安裝 CUDA 首先 nvidia-smi 查看支持最高的 CUDA 版本。 然后去 nvidia 官網下載 CUDA,選擇適合你的版本。 …