DStreamとしての単語リストがあります。例:リスト(車、速度、事故、スピード、悪い)。私はこのリストから双曲線を形成したい。私はRDDでこれを持っていますが、DStreamの問題に直面しています。私はforeachRDD関数を使用しています。以下は私が持っているものです -DStreamでのリスト処理
変換後にRDDの内容を印刷しようとしています。
def printRDD(rddString: RDD[String]) ={
val z = rddString.map(y => y.toString.split(",").filter(_.nonEmpty).
map(y => y.replaceAll("""\W""", "").toLowerCase)
.filter(_.nonEmpty)
.sliding(2).filter(_.size == 2).map{ case Array(a, b) => ((a, b), 1) })
.flatMap(x => x)
println(z)
}
val x = lines.map(plainTextToLemmas(_, stopWords))
val words = x.flatMap(y=> y.toString.split(","))
words.foreachRDD(rdd => printRDD(rdd))
変換関数printRDDの後に内容を表示する方法はありますか。印刷定義内でprintln(z)を使用しても、flatMapでMapPartitionsRDD [18]が返されます。私は入力を読み込むためにKafkaのスパークストリーミングを使用していますが、私はコンソールで単語の値を取得します。私は、printRDD関数を呼び出した後に、その言葉が変更されないと思います。
ストリーム処理後のバイグラムにはどうなりますか?その機能はコンソール印刷だけです。 – maasg