我在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工作類的例子?
它令人困惑,但spark-java是一個與apache-spark或spark-jobserver無關的不同項目。 – CodeMonkeyKing
@simafengyun:嗨,你是怎麼讓它終於運行的?我也需要完全一樣的。 – chaosguru