1. spark簡介
Apache Spark 是專爲大規模數據處理而設計的快速通用的計算引擎。
2. Spark安裝
2.1 安裝jdk
2.2 配置spark
-
官網下載spark安裝包
官網地址下載地址
-
上傳至虛擬機,修改配置文件
- spark-env.sh
export JAVA_HOME=/root/app/langEnv/jdk8
export SPARK_MASTER_HOST=hadoop-master
export SPARK_MASTER_PORT=7077
- slaves
2.3 啓動
-
命令:
./sbin/start-all.sh
-
jps: Master、worker
-
web: http://192.168.200.168:8080/
3. spark Hello World
利用spark自帶程序計算π的值
- 命令
./bin/spark-submit --master spark://hadoop-master:7077 --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.4.5.jar 100
- 注意
- 默認每個executor使用一個G的內存,通過參數–executor-memory xxxmb指定(必須在jar之前)
- 默認一個任務會使用完所有的cpu核,通過參數–total-executor-cores num 指定
4.Spark-shell
-
啓動本地模式
./bin/spark-shell
-
集羣模式
- 默認他也是一個spark-submit,並且默認佔用所有的核以及1G的內存
./bin/spark-shell --master spark://hadoop-master:7077
- 默認他也是一個spark-submit,並且默認佔用所有的核以及1G的內存
-
執行wordCount
- 注意:此處我是單機,如果是多機集羣則每一個executor得機器上都需要對應的文件
sc.textFile("/root/testData/w.txt").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect
- 統計hdfs文件夾內所有文件的詞頻
sc.textFile("hdfs://hadoop-master:9000/words").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect