pyspark

___ tag123apachespark ___ Apache Spark ist eine Open-Source-Bibliothek für die verteilte Datenverarbeitung für groß angelegte In-Memory-Datenanalyse-Computing. ___ tag123yarn ___ YARN (Yet Another Resource Negotiator) ist eine Schlüsselkomponente der Apache Hadoop-Infrastruktur der zweiten Generation. Verwenden Sie DIESE NICHT für den JavaScript / Node.js Garn-Paket-Manager (verwenden Sie stattdessen [yarnpkg])! Ursprünglich von Apache als neugestalteter Ressourcenmanager beschrieben, wird YARN jetzt als großräumiges, verteiltes Betriebssystem für Big-Data-Anwendungen einschließlich MapReduce (MR2) der nächsten Generation charakterisiert. ___ qstnhdr ___ Pyspark auf Garn-Cluster-Modus ___ tag123pypark ___ Die Spark Python-API (PySpark) macht das Apache-Spark-Programmiermodell für Python verfügbar. ___ answer31330600 ___

Der Grund, warum %code% mode nicht unterstützt wird, ist, dass %code% das Bootstrapping des Treiberprogramms selbst (z. B. das Programm, das einen SparkContext aufruft) auf einen YARN-Container aufruft. Ausgehend von Ihrer Aussage über das Senden von einer Django-Webanwendung klingt es so, als wolle man den Python-Code, der den SparkContext enthält, in die Web-App selbst einbetten, anstatt den Treibercode an einen YARN-Container zu senden, der dann einen separaten Spark-Job handhabt .

Dies bedeutet, dass Ihr Fall am ehesten mit %code% mode anstatt mit %code% übereinstimmt; Im %code% -Modus können Sie Ihren SparkContext-Code an beliebiger Stelle (wie in Ihrer Web-App) ausführen, während er mit YARN über die tatsächlichen Mechanismen laufender Jobs spricht.

Wenn Sie einen speicherinternen Status zwischen Ihrer Webanwendung und Ihrem Spark-Code teilen, bedeutet dies grundsätzlich, dass Sie den Spark-Teil nicht abtrennen können, um ihn in einem YARN-Container auszuführen, was% co_de ist % versucht zu tun. Wenn Sie keinen Status teilen, können Sie einfach einen Subprozess aufrufen, der tatsächlich %code% aufruft, um einen unabhängigen PySpark-Job zur Ausführung im %code% -Modus zu bündeln.

Zusammenfassend:

  1. Wenn Sie Ihren Spark-Code direkt in Ihre Web-App einbetten möchten, müssen Sie stattdessen %code% mode verwenden: SparkConf (). setMaster ("Garn-Client")
  2. Wenn der Spark-Code locker genug gekoppelt ist, dass %code% tatsächlich realisierbar ist, können Sie einen Python- Subprozess um %code% in %code% mode tatsächlich aufzurufen.
___ qstntxt ___

Gibt es eine Möglichkeit, pyspark-Skripte mit dem Garn-Cluster-Modus auszuführen, ohne das Spark-Submit-Skript zu verwenden? Ich brauche es auf diese Weise, weil ich diesen Code in eine Django Web App integrieren werde.

Wenn ich versuche, irgendein Skript im Garn-Cluster-Modus auszuführen, habe ich den folgenden Fehler:

%Vor%

Ich erstelle den sparkContext folgendermaßen:

%Vor%

Danke

    
___
2
Antworten

Apache Spark löst NullPointerException aus, wenn ein fehlendes Feature gefunden wird

Ich habe ein bizarres Problem mit PySpark beim Indexieren der Spalte von Strings in Features. Hier ist meine tmp.csv-Datei: %Vor% wo ich einen fehlenden Wert für 'x0' habe. Zuerst lese ich Funktionen aus der CSV-Datei mit Hilfe von pyspark_c...
06.11.2015, 20:02
2
Antworten

Wie speichere ich einen Spark-Datenrahmen und referenziere ihn in einem anderen Skript

Ist es möglich, einen Datenrahmen zwischenzuspeichern und dann in einem anderen Skript zu referenzieren (abfragen)? ... Mein Ziel ist wie folgt: Erstellen Sie in Skript 1 einen Datenrahmen (df) Führen Sie Skript 1 und cache df aus Suchen...
23.02.2016, 16:54
1
Antwort

Funkt Probleme mit Importen in Python

Wir führen einen spark-submit-Befehl für ein Python-Skript aus, das Spark zur Parallelisierung der Objekterkennung in Python mit Caffe verwendet. Das Skript selbst läuft einwandfrei, wenn es in einem Python-only-Skript ausgeführt wird, aber es g...
03.10.2016, 03:54
1
Antwort

Was bedeutet Bühne in den Funkenprotokollen?

Wenn ich einen Job mit Funken starte, bekomme ich die folgenden Protokolle? [Stage 0:> (0 + 32) / 32] Hier entspricht 32 der Anzahl der Partitionen von rdd, nach denen ich gefragt habe. Aber ich verstehe nicht, waru...
07.10.2015, 14:29
3
Antworten

Effizienteres Laden von Parkettdateien in Spark (pySpark v1.2.0)

Ich lade in hochdimensionale Parkett-Dateien, brauche aber nur ein paar Spalten. Mein aktueller Code sieht so aus: %Vor% Mein geistiges Modell für das, was passiert, ist, dass es alle Daten einlädt und dann die Spalten auswirft, die ich nich...
22.04.2015, 16:33
3
Antworten

Spark auf localhost

Für Testzwecke, während ich kein Produktionscluster habe, benutze ich lokal spark: %Vor% Außerdem verwende ich einen sehr sehr kleinen Datensatz, bestehend aus nur 20 Zeilen in einer Postgresql-Datenbank (~ 2kb) Auch (!) ist mein Code zie...
03.11.2016, 20:59
1
Antwort

Ausführen Identisches Modell auf mehreren GPUs, aber Senden verschiedener Benutzerdaten an jede GPU

Jeder hat Erfolg mit effizienter Datenparallelität, bei der Sie die identische Modelldefinition an mehrere GPUs senden, aber unterschiedliche Benutzerdaten an jede GPU senden? Es sieht so aus, als wäre Dist-Keras vielversprechend. aber ich wü...
08.01.2018, 07:25
1
Antwort

BigQuery-Connector für Pyspark über das Hadoop-Eingabeformatbeispiel

Ich habe einen großen Datensatz in einer BigQuery-Tabelle gespeichert und möchte ihn in einen pypark-RDD für die ETL-Datenverarbeitung laden. Ich habe festgestellt, dass BigQuery das Hadoop-Eingabe / Ausgabe-Format unterstützt Ссылка...
14.07.2015, 08:11
1
Antwort

PySpark dataframe.foreach () mit dem HappyBase-Verbindungspool gibt 'TypeError: kann thread.lock-Objekte nicht picken'

Ich habe einen PySpark-Job, der einige Objekte in HBase aktualisiert (Spark v1.6.0; happybase v0.9). Es funktioniert, wenn ich eine HBase-Verbindung für jede Zeile öffne / schließe: %Vor% Nach einigen tausend Upserts sehen wir Fehler wie...
06.04.2016, 15:28
2
Antworten

Warum ist es möglich, dass "serialisierte Ergebnisse von n Aufgaben (XXXX MB)" größer als "spark.driver.memory" in pyspark sind?

Ich habe mit diesen Einstellungen (ua) einen Spark-Job gestartet: %Vor% Ich habe meinen pyspark -Auftrag debuggt, und er hat mir immer den Fehler mitgeteilt: %Vor% Also habe ich die spark.driver.maxResultSize auf 18 G in den Kon...
17.07.2016, 01:39