2017-11-06 10 views
0

EMR - Sparkバージョン2.2.0/2.1.0でspark-shellを使用しました。 単純なオブジェクトをブロードキャストしようとしている間に(私のCSVファイルは1列しかなく、2MB以下です)、ドキュメントの中に示唆されているはずのものですが、各エグゼキュータメモリとドライバメモリに保持されていないことに気づいたhttps://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-TorrentBroadcast.htmlスパーク放送がエグゼキュータのメモリに保存されていません

ブロードキャスト(すなわち、sc.broadcast(arr_collected))の前と、結論を示すブロードキャスト後の添付の印刷画面。さらに私は、作業者のマシンのメモリ使用量を確認し、Spark UIと同じように、放送後も変更されていません。 https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-blockmanager.html - ここで提案様 'log4j.logger.org.apache.spark.storage.BlockManager = TRACE' を追加した後の放送処理のログを添付

1- print screen before broadcast

2- print screen after broadcast

3- print screen broadcast logging

以下のコードがある -

val input = "s3://bucketName/pathToFile.csv" 
val df = spark.read.format("com.databricks.spark.csv").option("header", "true").option("delimiter", ",").load(input) 
val df_2 = df_read_for_bc.withColumn("is_exist",lit("true").cast("Boolean")) 
val arr_collected = df_2.collect() 

val broadcast_map_fraud_locations4 = sc.broadcast(arr_collected) 

どのようなアイデアですか?

+1

コードスニペットをフォーマットしてください。 –

答えて

0

ブロードキャストの変数を使用してデータに参加したり、何らかの操作を実行できますか?それは怠け者かもしれないので、メモリを使用しないでください

+0

あなたは正しいです、ここには放送のしくみの解剖学の説明があります - https://stackoverflow.com/questions/35754123/apache-spark-how-to-structure-code-of-a-spark-application特に-susin?rq = 1の場合 –

関連する問題