據我所知,廣播對於獲取變量的本地副本很有用。變量的大小必須符合工人的記憶。如何將大型變量廣播到Spark中每個節點的本地磁盤
在我的情況,但是,我想獲得本地副本大變量這是不適合工人的記憶。
如何在Spark中廣播這個不使用廣播函數的大型變量?
據我所知,廣播對於獲取變量的本地副本很有用。變量的大小必須符合工人的記憶。如何將大型變量廣播到Spark中每個節點的本地磁盤
在我的情況,但是,我想獲得本地副本大變量這是不適合工人的記憶。
如何在Spark中廣播這個不使用廣播函數的大型變量?
問:
在我的情況,但是,我想大變量的本地副本 不適合於工人的記憶。
如何在Spark中廣播不使用廣播功能 的大型變量?
AFAIK這是不可能的(這不會適應工人內存...) 無論是sc.broadcast(..)
或functions.broadcast(hint)
請注意,有2GB(TorrentBroadcast)的內存限制看到SPARK-6235 - Address various 2G limits
你可以將數據(你想要廣播)提取到hadoop/hbase(或者任何沒有sql)或者可以被memcached,然後你可以查找。
大變量它不適合於工人的內存
像拉姆如上所述,如果不適合它的工人的記憶,即使您可以播放它,您也無法使用它,。
如果您嘗試使用大型數據集進行查找,則可以在每個工作節點上爲連接池創建數據庫。如果有模型,可以將模型保存到每個工作節點,並在foreachPartition
期間讀取文件。根據您的使用情況,可能有其他解決方案。
是什麼樣的變量呢?你會用變量執行什麼樣的操作? – aclokay