Python 3.4 を使用して Apache Spark 2.00 でアプリケーションを構築し、HDFS (Hadoop 2.7) からいくつかの CSV ファイルを読み込んで、それらの CSV データからいくつかの KPI を処理しようとしていました。
アプリケーションで「ブロードキャスト_1のブロードキャスト_1_ピース0を取得できませんでした」というエラーがランダムに発生し、停止しました。
多くのGoogleとstakeoverflowを検索した後、sparkアプリで作成されたファイルを/ tmpディレクトリから手動で削除することでそれを取り除く方法しか見つかりませんでした. 通常、アプリケーションが長時間実行されていて、適切に応答していないが、関連ファイルが /tmp ディレクトリにある場合に発生します。
ブロードキャスト用の変数は宣言していませんが、spark が独自に行っている可能性があります。
私の場合、hdfs から csv を読み込もうとするとエラーが発生します。
問題を解決できるように、アプリケーションの低レベルのログを取得し、サポートと提案/ベスト プラクティスのためにここに添付しました。
サンプル (詳細はこちらに添付されています):
トレースバック (最後の最後の呼び出し): ファイル "/home/hadoop/development/kpiengine.py"、258 行目、df_ho_raw = sqlContext.read.format('com.databricks.spark.csv').options(header=' true').load(HDFS_BASE_URL + HDFS_WORK_DIR + filename) ファイル "/usr/local/spark/python/lib/pyspark.zip/pyspark/sql/readwriter.py"、147 行目、ロード ファイル "/usr/local/ spark/python/lib/py4j-0.10.1-src.zip/py4j/java_gateway.py"、933 行目、呼び出し中 ファイル "/usr/local/spark/python/lib/pyspark.zip/pyspark/sql/utils.py"、63 行目、deco ファイル "/usr/local/spark/python/lib/py4j-0.10.1- src.zip/py4j/protocol.py"、行 312、get_return_value py4j.protocol.Py4JJavaError: o44.load の呼び出し中にエラーが発生しました。: org.apache.spark.SparkException: ステージの失敗によりジョブが中止されました: ステージ 0.0 のタスク 0 が 4 回失敗しました。最近の失敗: ステージ 0.0 のタスク 0.3 が失われました (TID 3、172.26.7.192): java.io.IOException: org.apache.spark.SparkException: ブロードキャスト_1 のブロードキャスト_1_piece0 を取得できませんでした