2016-07-29 5 views
0

次のコードを使用して、別の電話番号を取得し、すべての呼び出しを結合して作成します。単一マシンを使用するとRDDユニオンOOMエラーが発生する

//Get all the calls for the last 24 hours for each MSISDN in the hour 
val sCallsPlaced = (grouped24HourCallsPlaS).join(distinctMSISDNs) 
val oCallsPlaced = (grouped24HourCallsPlaO).join(distinctMSISDNs) 
val sCallsReceived = grouped24HourCallsRecS.join(distinctMSISDNs) 
val oCallsReceived = grouped24HourCallsRecO.join(distinctMSISDNs) 

val callsToProcess = sCallsPlaced.union(oCallsPlaced) 
           .union(sCallsReceived) 
           .union(oCallsReceived) 

火花defaults.confにファイルには、次があります、質問がある

spark.driver.memory=16g 
spark.driver.cores=1 
spark.driver.maxResultSize=2g 

spark.executor.memory=24g 
spark.executor.cores=10 

spark.default.parallelism=256 

Hadoopのサービス(名前ノードと、256G機で、データの50Gを処理することができるスパークますdatanode、secondarynameノード)、糸、およびHBaseを同じマシン上で実行します。

Hbase(HMaster、HQuorumPeer、およびHRegionServers)はそれぞれ約20Gを消費します。

また、Sparkで "Union"を使用するよりも速い方法があります。

答えて

0

各RDDにはいくつのパーティションがありますか? Serdeはどのようにレコードを探しますか?

関係代数に関しては、まず結合を実行してから結合を実行してください。

関連する問題