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)
どのようなアイデアですか?
コードスニペットをフォーマットしてください。 –