Spark通過Java Web提交任務
Spark1.4.1 ,Hadoop2.6,Scala2.10.5 , MyEclipse2014,intelliJ IDEA14,JDK1.8,Tomcat7
機器:
windows7 (包含JDK1.8,MyEclipse2014,IntelliJ IDEA14,TOmcat7);
centos6.6虛擬機器(Hadoop偽分散式叢集,Spark standAlone叢集,JDK1.8);
centos7虛擬機器(Tomcat,JDK1.8);
1. 場景:
1. windows簡單java程式呼叫Spark,執行Scala開發的Spark程式,這裡包含兩種模式:
1> 提交任務到Spark叢集,使用standAlone模式執行;
2> 提交任務到Yarn叢集,使用yarn-client的模式;
2. windows 開發java web程式呼叫Spark,執行Scala開發的Spark程式,同樣包含兩種模式,參考1.
3. linux執行java web程式呼叫Spark,執行Scala開發的Spark程式,包含兩種模式,參考1.
2. 實現:
1. 簡單Scala程式,該程式的功能是讀取HDFS中的log日誌檔案,過濾log檔案中的WARN和ERROR的記錄,最後把過濾後的記錄寫入到HDFS中,程式碼如下:
[Bash shell] 純文字檢視 複製程式碼
01 |
import org.apache.spark.{SparkConf,
SparkContext} |
02 |
03 |
04 |
/** |
05 |
*
Created by Administrator on 2015/8/23. |
06 |
*/ |
07 |
object
Scala_Test { |
08 |
def
main(args:Array[String]): Unit ={ |
09 |
if (args.length!=2){ |
10 |
System.err.println( "Usage:Scala_Test
<input> <output>" ) |
11 |
} |
12 |
//
初始化SparkConf |
13 |
val
conf = new SparkConf().setAppName( "Scala
filter" ) |