2015-01-16 25 views
1

我在java項目中使用spark。 我試圖使用spark-jobserver作爲我們的web服務。但面臨很多困難。 是否有任何示例java項目使用spark-job服務器?如何在Java Project中使用spark-job服務器?

我的問題: 似乎只需要在我們的java類中實現SparkJob並重寫方法runJob。 但我發現在runJob方法中,sparkcontext類型是SparkContext,而不是我們在java項目中使用的JavaSparkContext。

public Object runJob(SparkContext sparkcontext, Config config) { 
    // TODO Auto-generated method stub 
    return null; 
} 

所以我在我們的作業類改爲JavaSparkContext到SparkContext。但我面臨另一個編譯問題。 請幫我改正。由於

變更前:

JavaPairRDD<String, Row> pairData; 

................. 
JavaSchemaRDD schemaRDD = sqlContext.applySchema(pairData.values(), schema); 

變化

// because we I need to use SparkContext, so I changed JavaPairRDD<String, Row> to RDD<Tuple2<String, Row>>. 

RDD<Tuple2<String, Row>> pairData; 
............................... 


// I can't use pairData.values(), So I transform pairData to rowRDD 


RDD<Row> rowRDD = pairData .map(new Function<Tuple2<String, Row>, Row>() { 
public Row call(Tuple2<String, Row> re) 
throws Exception { 
return re._2(); 
} 

    }); 

後,但是我發現有對.MAP方法編譯錯誤。此外我發現我們不能在包org.apache.spark.sql.api.java下使用任何類,如果我在作業類中將JavaSparkContext更改爲SparkContext。 有沒有java工作類的例子?

+1

它令人困惑,但spark-java是一個與apache-spark或spark-jobserver無關的不同項目。 – CodeMonkeyKing

+0

@simafengyun:嗨,你是怎麼讓它終於運行的?我也需要完全一樣的。 – chaosguru

回答

0

JavaSparkContext有方法轉換爲SparkContext,反之亦然,請參閱方法JavaSparkContext.sc()JavaSparkContext.fromSparkContext()

相關問題