一、前言
近幾年大資料是例外的火爆,今天小編以java開發的身份來會會大資料,提高一下自己的層面!
大資料技術也是有很多:
- Hadoop
- Spark
- Flink
小編也只知道這些了,由于Hadoop,存在一定的缺陷(回圈迭代式資料流處理:多
并行運行的資料可復用場景效率不行),所以Spark出來了,一匹黑馬,8個月的時間從加入 Apache,直接成為頂級專案!!
選擇Spark的主要原因是:
Spark和Hadoop的根本差異是多個作業之間的資料通信問題 : Spark多個作業之間資料
通信是基于記憶體,而 Hadoop 是基于磁盤,
二、Spark介紹
官網地址
Spark 是用于大規模資料處理的統一分析引擎,它提供了 Scala、Java、Python 和 R 中的高級 API,以及支持用于資料分析的通用計算圖的優化引擎,它還支持一組豐富的高級工具,包括用于 SQL 和 DataFrames 的 Spark SQL、用于 Pandas 作業負載的 Spark 上的 Pandas API、用于機器學習的 MLlib、用于圖形處理的 GraphX 和用于流處理的結構化流,
spark是使用Scala語言開發的,所以使用Scala更好!!
三、下載安裝
1. Scala下載
Scala官網
點擊安裝

下載自己需要的版本

點擊自己需要的版本:小編這里下載的是2.12.11
點擊下載Windows二進制:

慢的話可以使用迅雷下載!
2. 安裝
安裝就是下一步下一步,記住安裝目錄不要有空格,不然會報錯的!!!
3. 測驗安裝
win+R輸入cmd:
輸入:
scala
必須要有JDK環境哈,這個學大資料基本都有哈!!

4. Hadoop下載
一個小技巧:
Hadoop和Spark版本需要一致,我們先去看看spark,他上面名字就帶著和他配套的Hadoop版本!!
spark3.0對照

得出我們下載Hadoop的版本為:3.2
Hadoop下載地址

5. 解壓配置環境
解壓到即可使用,為了使用方便,要想jdk一樣配置一下環境變數!
新建HADOOP_HOME
值為安裝目錄:D:\software\hadoop-3.2.1
在Path里添加:%HADOOP_HOME%\bin
cmd輸入:hadoop:提示
系統找不到指定的路徑,
Error: JAVA_HOME is incorrectly set.
這里先不用管,咱們只需要Hadoop的環境即可!
6. 下載Spark
Spark官網
點擊找到歷史版本:

點擊下載:

7. 解壓環境配置
新建:SPARK_HOME:D:\spark\spark-3.3.1-bin-hadoop3
Path添加:%SPARK_HOME%\bin
8. 測驗安裝
win+R輸入cmd:
輸入:
spark-shell

四、集成Idea
1. 下載插件
scala

2. 給專案添加Global Libraries
打開配置:

新增SDK

下載你需要的版本:小編這里是:2.12.11

右擊專案,添加上scala:

3. 匯入依賴
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.0.0</version>
</dependency>
4. 第一個程式


object Test {
def main(args: Array[String]): Unit = {
println("hello")
var sparkConf = new SparkConf().setMaster("local").setAppName("WordCount");
var sc = new SparkContext(sparkConf);
sc.stop();
}
}
5. 測驗bug1
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
22/10/31 16:20:35 INFO SparkContext: Running Spark version 3.0.0
22/10/31 16:20:35 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable D:\software\hadoop-3.2.1\bin\winutils.exe in the Hadoop binaries.

原因就是缺少:winutils
下載地址

把它發放Hadoop的bin目錄下:

6. 測驗bug2
這個沒辦法復現,拔的網上的記錄:
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
22/10/08 21:02:10 INFO SparkContext: Running Spark version 3.0.0
22/10/08 21:02:10 ERROR SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: A master URL must be set in your configuration
at org.apache.spark.SparkContext.<init>(SparkContext.scala:380)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:120)
at test.wyh.wordcount.TestWordCount$.main(TestWordCount.scala:10)
at test.wyh.wordcount.TestWordCount.main(TestWordCount.scala)
就是這句:A master URL must be set in your configuration
解決方案:
就是沒有用到本地的地址
右擊專案:

沒有環境就添加上:

添加上:
-Dspark.master=local

7. 測驗完成
沒有error,完美!!

五、總結
這樣就完成了,歷盡千辛萬苦,終于成功,第一次結束差點勸退,發現自己對這個東西還是不懂,后面再慢慢補Scala,先上手感受,然后再深度學習!!
如果對你有用,還請點贊關注下,支持一下一直是小撰寫作的動力!!
可以看下一小編的微信公眾號,和網站文章首發看,歡迎關注,一起交流哈!!微信搜索:小王博客基地

點擊訪問!小編自己的網站,里面也是有很多好的文章哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/526932.html
標籤:其他
