日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

浅析SparkRPC源码(spark2.11)

發布時間:2024/2/28 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅析SparkRPC源码(spark2.11) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spark的RPC

一步一步走下去:

RpcAddress

RpcEndPointRef?

當我們需要向一個具體的RpcEndpoint發送消息時,一般我們需要獲取到該RpcEndpoint的引用,然后通過該應用發送消息。

?部分方法:

RpcEnv?

RpcEnv的部分方法:

RpcEndpoint

正如他所說我們前去看他的生命周期:

那么RpcEndpoint表示一個個需要通信的個體都有哪些?如master,worker,driver

Driver這里就不在做演示了,有興趣的可以自行進入源碼中查看。

在調用中,我們發現了一個RpcCallContext的特性,在receiveAndReply被作為參數。

所以關注了一下他:


整片博客中由許多方法,類并未列出,看時做一個參考即可。在自己的idea中查看源碼。僅做一個引導。

瞎琢磨一陣,做個小總結:

打個比喻:若是將Spark類比為一個人的話,Spark RPC無疑就是它的血液部分。所以說Spark RPC可以說是Spark分布式集群的基礎。

在整個RPC中:

RpcEnv為RpcEndpoint提供處理消息的環境。RpcEnv負責RpcEndpoint整個生命周期的管理,包括:注冊endpoint,endpoint之間消息的路由,以及停止endpoint。

?

RpcEndpoint表示一個個需要通信的個體(如master,worker,driver),主要根據接收的消息來進行對應的處理。一個RpcEndpoint經歷的過程依次是:構建->onStart→receive→onStop。其中onStart在接收任務消息前調用,receive和receiveAndReply分別用來接收另一個RpcEndpoint(也可以是本身)send和ask過來的消息。

?

RpcEndpointRef是對遠程RpcEndpoint的一個引用。當我們需要向一個具體的RpcEndpoint發送消息時,一般我們需要獲取到該RpcEndpoint的引用,然后通過該應用發送消息。

?

RpcAddress表示遠程的RpcEndpointRef的地址,Host + Port。

總結

以上是生活随笔為你收集整理的浅析SparkRPC源码(spark2.11)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。