日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark1——介绍

發布時間:2023/12/2 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark1——介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、Spark是什么

  Spark是一個用來實現快速而通用的集群計算的平臺。

?

2、Spark是一個大一統的軟件棧

  Spark項目包含多個緊密集成的組件。首先Spark的核心是一個對由很多計算任務組成的、運行在多個工作機器或者是一個計算集群上的應用進行調度、分發以及監控的計算引擎。

  Spark的個組件如下圖所示:

  

  • Apache Spark 也就是Spark的核心部分,也稱為Spark Core,這個部分實現了Spark的基本功能,包含任務調度、內存管理、錯誤恢復、與存儲系統交互模塊,還包含了對彈性分布式數據集(RDD)的API定義。
  • Spark SQL是Spark用來操作結構化數據的程序包。通過Spark SQL,我們可以使用SQL或者HQL來查詢數據。
  • Spark Streaming 是Spark提供的對實時數據進行流式計算的組件。比如生產環境中的網頁服務器日志,或是網絡服務中用戶提交的狀態更新組成的消息隊列,都是消息流
  • MLlib這是一個包含了常見機器學習功能的程序庫,包括分類、回歸、聚類、協同過濾等
  • GraphX是用來操作圖的程序庫,可以進行并行的圖計算。

3、Spark的核心概念

  從上層來看,每個Spark應用都由一個驅動器程序來發起集群上的并行操作。驅動器程序包含應用的main函數,并且定義了集群上的分布式數據集,還對這些分布式數據集應用了相關操作。

  驅動器程序通過一個SparkContext對象來訪問Spark。這個對象代表對計算集群的一個連接,當Spark shell啟動時已自動創建了一個SparkContext對象。

val textFile = sc.textFile("hdfs://...") val counts = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _) counts.saveAsTextFile("hdfs://...")

  這里的sc變量,就是自動創建的SparkContext對象。通過它就可以來創建RDD,調用sc.textFile()來創建一個代表文件各行文本的RDD。

  通過RDD我們就可以在這些行上進行各種操作,通常驅動器程序要管理多個執行器節點。比如,如果我們在集群上運行輸出操作,那么不同的節點就會統計文件不同部分的行數。

?

4、初始化SparlContext

  一旦完成了應用與Spark的連接,接下來就需要在程序中導入Spark包并創建SparkContext.我們可以通過先創建一個SparkConf對象來配置應用,然后基于這個SparkConf來創建一個Sparktext對象。

val conf = new SparkConf().setAppName("wordcount").setMaster("local") val sc = new SparkContext(conf)

  這里創建了SparkContext的最基礎的方法,只需要傳遞兩個參數:

  • 應用名:這里使用的是"wordcount?",當連接到一個集群的時候,這個值可以幫助我們在集群管理器的用戶界面中找到你的應用,這是這個程序運行后的集群管理器的截圖

  • 集群URL:告訴Spark如何連接到集群上,這里使用的是local,這個特殊的值可以讓Spark運行在單機單線程上而無需連接到集群上

?

轉載于:https://www.cnblogs.com/xxbbtt/p/8425376.html

總結

以上是生活随笔為你收集整理的Spark1——介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。