次の2つは同じですか?SparkではDstreamマップとDstream変換マップが同じですか?
val dstream = stream.window(Seconds(60), Seconds(1))
val x = dstream.map(x => ...)
と
val dstream = stream.window(Seconds(60), Seconds(1))
val x = dstream.transform(rdd => rdd.map(x => ...))
次の2つは同じですか?SparkではDstreamマップとDstream変換マップが同じですか?
val dstream = stream.window(Seconds(60), Seconds(1))
val x = dstream.map(x => ...)
と
val dstream = stream.window(Seconds(60), Seconds(1))
val x = dstream.transform(rdd => rdd.map(x => ...))
マップ(FUNC)関数funcを介してソース DSTREAMの各要素を通過させることによって、新たなDSTREAMを返します。
と
ソースDSTREAMのすべてのRDDにRDDツーRDD機能 を適用することにより、新しいDSTREAMを返します(FUNC)を形質転換。これを使用して、DStreamで任意の RDD操作を実行できます。
スパークストリーミングの短い変換機能では、ストリームの基になるRDDのApache Sparkの変換のいずれにも使用できます。 mapは要素から要素への変換に使用されます。
基本的に、マップはDSTREAMの要素上で動作し、 を変換あなたはDSTREAMのRDDS(マップを各列上で動作し、各RDDの作品を変換)と連携することができます。
http://spark.apache.org/docs/latest/streaming-programming-guide.html#transformations-on-dstreams
マップ例
val clicks: DStream[...] = ...
val mappedClicks: ... = clicks.map(...)
正確役立つかもしれない、私の意見では、重複例
transform(transformFunc: RDD[T] => RDD[U]): DStream[U]
transform(transformFunc: (RDD[T], Time) => RDD[U]): DStream[U]
それは私の質問に答えなかった。この場合、出力は同じかどうか、一致しない場合はどうしてですか? – pythonic
mapの代わりにtransformを使っても同じ結果が得られます –
を変換:) –
上記の二つの場合だけで伝えます同じかどうか。あなたがリンクしている質問は、まだこのことを明確にしていません。私が理解していることから、これらの2つは同じ出力を与えます。 – pythonic