但是往往不容易知道萬一程式內容有誤怎辦?(直接在Eclipse用Maven不在此限)
這邊簡單介紹使用Scale IDE 整合了 Eclipse 來建立第一支JAVA範例程式
首先至 Scale IDE Download 下載最新的 Scala IDE,之後解壓縮後會出現Eclipse的目錄
點擊2下後,建立一個新的專案(Java Project)名為SparkTestApp後,如圖
接著我們在 eclipse complier時需要使用到 spark-assembly-1.5.0.hadoop2.6.0.jar
該檔案是會在您安裝Spark的 /lib路徑下(隨著安裝版本的不同檔名也不同)
由於我之前 Spark 環境 跟 Windows Eclipse環境是分開安裝的,所以一樣利用WinSCP工具將在Linux環境下的 spark-assembly-1.5.0.hadoop2.6.0.jar 複製至 Windows環境
複製完畢後在剛才建立的Project 專案名稱按右鍵-->properties-->Java Bulid Path-->add External jars-->選擇你剛才複製的jar檔
現在我們可以建立 java class 了
在src按右鍵建立 class 取名為 SimpleApp.java
程式碼如下:
/* SimpleApp.java */
import org.apache.spark.api.java.*;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.function.Function;
public class SimpleApp {
public static void main(String[] args) {
String logFile = "/opt/SparkLogFile.log"; // Should be some file on your system
SparkConf conf = new SparkConf().setAppName("Simple Application");
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 + " version 2.0");
}
}
程式碼與之前相同,接著我們在專案名稱按右鍵-->Export
選擇 Export JAR file
取名 SimpleAppV2
按下 Finish 後 ,至你建立專案的 WorkSpace下取得 SimpleAppV2.jar
同上一個範例將其檔案複製至 Spark Linux 環境下
執行命令
#spark-submit --class "SimpleApp" SimpleAppV2.jar
執行結果如下:
恭喜剛才在Eclipse建立的範例程式也可成功運行嘍!