Spark安装及其sbt和maven 打包工具安装
生活随笔
收集整理的這篇文章主要介紹了
Spark安装及其sbt和maven 打包工具安装
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.安裝準備
https://pan.baidu.com/s/129rn9DrjVSzGi2SksTkefw 提取碼: ebbb
二.spark 本地模式安裝
在文件中添加如下配置信息:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)三. Spark Shell 編程
spark創建sc,加載本地文件創建RDD,也可以加載HDFS 文件.通過 前綴(hdfs://和file:///) 進行標識是本地文件還是HDFS文件;
四. Scala 獨立應用編程
使用scala 編寫的程序需要使用sbt進行編譯打包,使用java編寫的代碼需要通過maven 打包,使用python 編寫的代碼可以直接通過spark-submit 直接提交.
創建一個目錄作為應用程序根目錄.并創建文件結構目錄;
# 進入一個目錄,創建相關目錄 cd ~/Documents/Personal\ File/BigData# 創建根目錄及其結構 mkdir ./sparkapp # 創建應用程序根目錄 mkdir -p ./sparkapp/src/main/scala # 創建所需的文件夾結構# 創建代碼文件 vim ./sparkapp/src/main/scala/SimpleApp.scala編寫代碼如下:
/* SimpleApp.scala */ import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ import org.apache.spark.SparkConfobject SimpleApp {def main(args: Array[String]) {val logFile = "file:///usr/local/spark/README.md" // Should be some file on your systemval conf = new SparkConf().setAppName("Simple Application")val sc = new SparkContext(conf)val logData = sc.textFile(logFile, 2).cache()val numAs = logData.filter(line => line.contains("a")).count()val numBs = logData.filter(line => line.contains("b")).count()println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))}}添加內容,scalaVersion指定scala 的版本,spark-core 指定spark的版本.可以通過spark 的shell登錄界面獲取到版本信息.
使用sbt打包文件,為保證sbt正常運行,通過如下命令查看文件結構.
cd ~/Documents/Personal\ File/BigData/sparkapp find .
執行打包命令,生成的 jar 包的位置為 ~/Documents/Personal\ File/BigData/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar。
通過spark-submit 來提交程序運行.
五. Java 獨立編程
創建應用程序根目錄;
在./sparkapp2/src/main/java下創建代碼文件.
/*** SimpleApp.java ***/ import org.apache.spark.api.java.*; import org.apache.spark.api.java.function.Function; import org.apache.spark.SparkConf;public class SimpleApp {public static void main(String[] args) {String logFile = "file:///usr/local/spark/README.md"; // Should be some file on your systemSparkConf conf=new SparkConf().setMaster("local").setAppName("SimpleApp");JavaSparkContext sc=new JavaSparkContext(conf);JavaRDD<String> logData = sc.textFile(logFile).cache(); long numAs = logData.filter(new Function<String, Boolean>() {public Boolean call(String s) { return s.contains("a"); }}).count(); long numBs = logData.filter(new Function<String, Boolean>() {public Boolean call(String s) { return s.contains("b"); }}).count(); System.out.println("Lines with a: " + numAs + ", lines with b: " + numBs);} }在./sparkapp2目錄中新建文件pom.xml.
cd ~/Documents/Personal\ File/BigData/sparkapp2 vim pox.xml <project><groupId>cn.edu.xmu</groupId><artifactId>simple-project</artifactId><modelVersion>4.0.0</modelVersion><name>Simple Project</name><packaging>jar</packaging><version>1.0</version><repositories><repository><id>jboss</id><name>JBoss Repository</name><url>http://repository.jboss.com/maven2/</url></repository></repositories><dependencies><dependency> <!-- Spark dependency --><groupId>org.apache.spark</groupId><artifactId>spark-core_2.11</artifactId><version>2.4.5</version></dependency></dependencies> </project>為保證maven 正常運行,通過find 查看文件結構:
總結
以上是生活随笔為你收集整理的Spark安装及其sbt和maven 打包工具安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客14355 翻硬币
- 下一篇: 王道计算机网络 网络层整理 超详细版