簡體   English   中英

通過鍵Spark Scala連接Dstream [Document]和Rdd

[英]Join Dstream[Document] and Rdd by key Spark Scala

這是我的代碼:

ssc =streamingcontext(sparkcontext,Seconds(time))
spark = sparksession.builder.config(properties).getorcreate()

val Dstream1: ReceiverInputDstream[Document] =  ssc.receiverStream(properties) // Dstream1 has Id1 and other fields

val Rdd2 = spark.sql("select Id1,key from hdfs.table").rdd // RDD[Row]

有辦法我可以加入這兩個嗎?

首先,您需要將Dstream和Rdd轉換為使用pairRDD。

這樣的事情應該做。

val DstreamTuple = Dstream1.map(x => (x. Id1, x))
val Rdd2Tuple = Rdd2.map(x => (x. Id1, x))

完成此操作后,您只需在dstream上進行轉換,然后將其加入RDD。

val joinedStream = DstreamTuple.transform(rdd =>
   rdd.leftOuterJoin(Rdd2Tuple)
)

希望這可以幫助 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM