2016-12-20 1 views
0

Ich habe eine Anwendung auf Apache Spark 2.00 mit Python 3.4 erstellt und versucht, einige CSV-Dateien aus HDFS (Hadoop 2.7) zu laden und einige KPI aus diesen CSV-Daten zu verarbeiten.Fehler beim Abrufen von broadcast_1_piece0 von broadcast_1 in der pyspark-Anwendung

Ich benutze zu Gesicht "Fehler beim Senden broadcast_1_piece0 of broadcast_1" Fehler zufällig in meiner Anwendung und es gestoppt.

Nach der Suche viel Google und Stakeoverflow, fand ich nur, wie man es loswerden durch Löschen von Funke app erstellt Dateien manuell aus/Tmp-Verzeichnis. Es passiert im Allgemeinen, wenn eine Anwendung lange läuft und nicht richtig reagiert, aber verwandte Dateien im Verzeichnis/tmp liegen.

Obwohl ich keine Variable für Broadcast deklarieren, aber möglicherweise Funken selbst macht.

In meinem Fall tritt der Fehler auf, wenn es versucht, CSV von hdfs zu laden.

Ich habe Low-Level-Logs für meine Anwendung und angehängt hiermit für Unterstützung und Vorschläge/Best Practice, so dass ich das Problem beheben kann.

Probe (Details sind angebaute here):

Traceback (most recent call last): File "/home/hadoop/development/kpiengine.py", line 258, in df_ho_raw = sqlContext.read.format('com.databricks.spark.csv').options(header='true').load(HDFS_BASE_URL + HDFS_WORK_DIR + filename) File "/usr/local/spark/python/lib/pyspark.zip/pyspark/sql/readwriter.py", line 147, in load File "/usr/local/spark/python/lib/py4j-0.10.1-src.zip/py4j/java_gateway.py", line 933, in call File "/usr/local/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line 63, in deco File "/usr/local/spark/python/lib/py4j-0.10.1-src.zip/py4j/protocol.py", line 312, in get_return_value py4j.protocol.Py4JJavaError: An error occurred while calling o44.load. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 in stage 0.0 (TID 3, 172.26.7.192): java.io.IOException: org.apache.spark.SparkException: Failed to get broadcast_1_piece0 of broadcast_1

+0

Jeder kann helfen, bitte? – user2122292

Antwort

0
  1. sollten Sie sich für Ihre Klasse

  2. Ihr Code Framework-Fehler Serializable, können Sie es testen

    $SPARK_HOME/examples/src/main/scala/org/apache/spark/examples/ 
    

Wenn es in Ordnung ist, sollten Sie Ihren Code überprüfen.

+0

Fügen Sie einen Punkt hinzu: Sie müssen nicht sparkconfig und sparkcontext serialisieren. fügt den @ transient-Bezeichner vorne hinzu. Und schreiben Sie außerhalb der Hauptmethode –

Verwandte Themen