以下兩個相同嗎?Dstream映射和Dstream轉換映射在Spark中是否相同?
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 => ...))
以下兩個相同嗎?Dstream映射和Dstream轉換映射在Spark中是否相同?
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)通過使源 DSTREAM的每個元件通過一個函數func返回一個新的DSTREAM。
和
變換(FUNC)通過施加RDD到RDD功能 到源DSTREAM的每RDD返回一個新的DSTREAM。這可以用來對DStream執行任意的 RDD操作。
Spark流中的簡短轉換函數我們可以用於任何Apache Spark對流的底層RDD的轉換。 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
使用變換代替映射可以得到相同的結果 –
完全重複,可能會有所幫助:) –
只要告訴如果上述兩個是否相同。你已經連接的問題,仍然沒有使這個事情清楚。據我所知,這兩個會給出相同的輸出。 – pythonic