0

Spark ライブラリ バージョン 1.1.0 で利用可能な特定の機能が必要な状況がありますが、このアプリケーションを実行する必要がある 2 つの異なるプラットフォームがあります。1 つは Spark 1.1.0 を使用し、もう 1 つは Spark 0.9.1 を使用します。Spark 1.1.0 で利用できる機能は、Spark 0.9.1 では利用できません。

そうは言っても、Spark 1.1.0 でコンパイルするときに特定のコードがコンパイルされ、Spark 0.9.1 を使用してコンパイルするときに、scala コードにいくつかのコンパイラ フラグを含めることは可能ですか。ライブラリ別のコードがコンパイルされますか?

そのようです :

#ifSpark1.1.0
val docIdtoSeq: RDD[(String, Long)] = listOfDocIds.zipWithIndex()
#endifSpark1.1.0

#ifSpark0.9.1
    val docIdtoSeq: RDD[(String, Long)] = listOfDocIds.mapPartitionsWithIndex{case(partId,it) => it.zipWithIndex.map{case(el,ind) => (el,ind+partId*constantLong)}}
#endifSpark0.9.1

どうもありがとう

4

1 に答える 1