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, spark-submit, was ist das Verhalten der Option --total-executor-cores

Ich führe einen Spark-Cluster über C ++ - Code, der in Python eingebunden ist. Ich teste gerade verschiedene Konfigurationen von Multi-Threading-Optionen (auf Python-Level oder Spark-Level). Ich verwende Spark mit eigenständigen Binärdateien...
04.05.2015, 13:19
2
Antworten

Leistungsabfall für eine große Anzahl von Spalten. Pyspark

Ich habe das Problem mit der Verarbeitung von Spark-Wide-Datenrahmen (etwa 9000 Spalten und manchmal mehr) getroffen. Aufgabe: Erstellen Sie einen breiten DF über groupBy und pivot. Transformieren Sie Spalten in Vektor und verarbeiten Sie...
20.02.2018, 08:39
1
Antwort

"aufgelöste (s) Attribut (e) fehlen" beim Ausführen von Join auf pySpark

Ich habe die folgenden zwei pySpark Datenrahmen: %Vor% Jetzt möchte ich sie in gemeinsamen Spalten verbinden, also versuche ich Folgendes: %Vor% Und ich bekomme folgende Fehlermeldung: %Vor% Einige der Spalten, die bei diesem Fehler...
15.10.2016, 17:47
1
Antwort

ON DUPLICATE KEY UPDATE beim Einfügen von pyspark dataframe in eine externe Datenbanktabelle über JDBC

Nun, ich benutze PySpark und ich habe einen Spark-Datenrahmen, mit dem ich die Daten in eine MySQL-Tabelle einfüge. url = "jdbc:mysql://hostname/myDB?user=xyz&password=pwd" df.write.jdbc(url=url, table="myTable", mode="append")...
16.09.2015, 11:21
0
Antworten

Doc2Vec und PySpark: Gensim Doc2vec über DeepDist

Ich schaue mir das DeepDist ( Link ) Modul an und denke, es mit Gensim s Doc2Vec API zu kombinieren Absatzvektoren auf PySpark . Der Link enthält tatsächlich das folgende saubere Beispiel für die Vorgehensweise für Gensim s Word2V...
25.02.2016, 00:40
5
Antworten

Pyspark: Liste der Dateien / Verzeichnisse im HDFS-Pfad abrufen

Wie im Titel. Ich kenne textFile, aber wie der Name schon sagt, funktioniert es nur für Textdateien. Ich müsste auf die Dateien / Verzeichnisse in einem Pfad auf HDFS (oder lokalen Pfad) zugreifen. Ich benutze pyspark Danke für die Hilfe    ...
02.03.2016, 14:53
2
Antworten

Übergeben einer Datenrahmenspalte und einer externen Liste an udf unter withColumn

Ich habe einen Spark-Datenrahmen mit folgender Struktur. Das bodyText_token hat die Tokens (verarbeitete Wörter). Und ich habe eine verschachtelte Liste von definierten Schlüsselwörtern %Vor% Ich musste überprüfen, wie viele Tokens unter die...
24.05.2016, 09:42
2
Antworten

Spark RDD zu DataFrame Python

Ich versuche, die Spark RDD in einen DataFrame zu konvertieren. Ich habe die Dokumentation und das Beispiel gesehen, wo das Schema übergeben wurde sqlContext.CreateDataFrame(rdd,schema) -Funktion. Aber ich habe 38 Spalten oder Felder und...
26.09.2016, 09:24
2
Antworten

Explosion in PySpark

Ich möchte von einem DataFrame, der Listen von Wörtern enthält, in einen DataFrame mit jedem Wort in einer eigenen Zeile transformieren. Wie mache ich eine Explosion in einer Spalte in einem DataFrame? Hier ist ein Beispiel mit einigen mei...
05.07.2016, 18:45
1
Antwort

PySpark-Datenformat konvertiert ungewöhnliches Zeichenfolgenformat in Timestamp

Ich benutze PySpark über Spark 1.5.0. Ich habe ein ungewöhnliches String-Format in Zeilen einer Spalte für Datetime-Werte. Es sieht so aus: %Vor% Gibt es eine Möglichkeit, dieses unorthodoxe yyyy_mm_dd hh_mm_dd -Format in einen Timestamp...
22.08.2016, 20:47