314.5. RDD ジョブ
RDD ジョブを呼び出すには、次の URI を使用します。
Spark RDD producer
spark:rdd?rdd=#testFileRdd&rddCallback=#transformation
spark:rdd?rdd=#testFileRdd&rddCallback=#transformationSpark RDD コールバック
public interface RddCallback<T> {
    T onRdd(JavaRDDLike rdd, Object... payloads);
}
public interface RddCallback<T> {
    T onRdd(JavaRDDLike rdd, Object... payloads);
}次のスニペットは、ジョブへの入力としてメッセージを送信し、結果を返す方法を示しています。
Spark ジョブの呼び出し
String pattern = "job input";
long linesCount = producerTemplate.requestBody("spark:rdd?rdd=#myRdd&rddCallback=#countLinesContaining", pattern, long.class);
String pattern = "job input";
long linesCount = producerTemplate.requestBody("spark:rdd?rdd=#myRdd&rddCallback=#countLinesContaining", pattern, long.class);Spring Bean として登録された上記のスニペットの RDD コールバックは、次のようになります。
Spark RDD コールバック
Spring の RDD 定義は次のようになります。
Spark RDD 定義
@Bean
JavaRDDLike myRdd(JavaSparkContext sparkContext) {
  return sparkContext.textFile("testrdd.txt");
}
@Bean
JavaRDDLike myRdd(JavaSparkContext sparkContext) {
  return sparkContext.textFile("testrdd.txt");
}314.5.1. RDD コールバックを無効にする
						RDD コールバックが Camel パイプラインに値を返さない場合は、null 値を返すか、VoidRddCallback ベースクラスを使用できます。
					
Spark RDD 定義
314.5.2. RDD コールバックの変換
						RDD コールバックに送信される入力データのタイプがわかっている場合は、ConvertingRddCallback を使用して、受信メッセージをコールバックに挿入する前に Camel に自動的に変換させることができます。
					
Spark RDD 定義
314.5.3. アノテーション付き RDD コールバック
						おそらく、RDD コールバックを操作する最も簡単な方法は、@RddCallback アノテーションでマークされたメソッドをクラスに提供することです。
					
アノテーション付き RDD コールバック定義
CamelContext をアノテーション付き RDD コールバックファクトリーメソッドに渡す場合、作成されたコールバックは、入力ペイロードを変換して、アノテーション付きメソッドのパラメーターに一致させることができます。
アノテーション付き RDD コールバックのボディー変換