Wenn Sie einen Dataproc-Job senden, erfasst Dataproc automatisch die Jobausgabe und stellt sie Ihnen zur Verfügung. Sie können also schnell eine Jobausgabe prüfen, ohne eine Verbindung zum Cluster herstellen zu müssen, während Jobs ausgeführt oder komplizierte Protokolldateien durchsucht werden.
Ausgabeoptionen des Spark-Jobs
Der Dataproc-Jobtreiber ist ein Launcher für viele Jobtypen. Beim Starten von Spark-Jobs wird es als Wrapper für die zugrunde liegende spark-submit
-Datei ausgeführt, mit der der Spark-Treiber gestartet wird. Der Spark-Treiber führt den Job im Dataproc-Cluster im Spark-client
- oder cluster
-Modus aus:
client
-Modus: Der Spark-Treiber führt den Job imspark-submit
-Prozess aus und Spark-Logs werden an den Dataproc-Jobtreiber gesendet.Modus „
cluster
“: Der Spark-Treiber führt den Job in einem YARN-Container aus. Spark-Treiberlogs sind für den Dataproc-Jobtreiber nicht verfügbar und enthalten nurspark-submit
-Logs, z. B. „"application xxx"“. Spark-Treiberausgabe und Executor-Logs sind in YARN-Containerlogs enthalten.
In den folgenden Tabellen sind Dataproc- und Spark-Attribute aufgeführt, die das Ziel des Dataproc-Jobtreibers und der Spark-Jobausgabe beeinflussen.
Die aufgeführten Dataproc- und Spark-Attribute können mit dem Flag --properties
festgelegt werden, wenn ein Cluster erstellt wird, und gelten auf alle Spark-Jobs, die im Cluster ausgeführt werden. Spark-Attribute können auch mit dem Flag --properties
(ohne das Präfix "spark:") festgelegt werden, wenn ein Job gesendet wird.
Zugehörige Dataproc- und Spark-Job-Ausgabeattribute
Attribut | Wert | Standard | Beschreibung |
---|---|---|---|
dataproc:dataproc.logging.stackdriver.job.driver.enable |
Richtig oder falsch? | falsch | Bei true befindet sich die Jobtreiberausgabe in Logging. Diese ist der Jobressource zugeordnet, bei false ist die Jobtreiberausgabe nicht in Logging vorhanden. |
dataproc:dataproc.logging.stackdriver.job.yarn.container.enable |
Richtig oder falsch? | falsch | Wenn true , sind Job YARN-Containerlogs mit der Jobressource verknüpft, während false , mit der Clusterressource. |
spark:spark.submit.deployMode |
Client oder Cluster | Client | Steuert den Spark-Modus client oder cluster . |
Dataproc-Job-Treiberausgabe
In den folgenden Tabellen sind die Auswirkungen verschiedener Property-Einstellungen auf das Ziel der Dataproc-Jobtreiberausgabe aufgeführt.
dataproc: |
Ausgabe |
---|---|
false (Standardeinstellung) |
|
wahr |
|
Spark-Treiberausgabe
In den folgenden Tabellen sind die Auswirkungen verschiedener Property-Einstellungen auf das Ziel der Spark-Treiberausgabe aufgeführt.
spark: |
dataproc: |
Treiberausgang |
---|---|---|
Client | false (Standardeinstellung) |
|
Client | wahr |
|
Cluster | false (Standardeinstellung) |
|
Cluster | wahr |
|
Spark-Executor-Ausgabe
In den folgenden Tabellen sind die Auswirkungen verschiedener Property-Einstellungen auf das Ziel der Spark-Executor-Ausgabe aufgeführt.
dataproc: |
Executor-Ausgang |
---|---|
false (Standardeinstellung) | In Logging: yarn-userlogs unter der Clusterressource |
wahr | Logging in dataproc.job.yarn.container unter der Jobressource |
Jobausgabe ansehen
Sie können auf die Dataproc-Jobtreiberausgabe über die Cloud Console, die gcloud-Befehlszeile oder Cloud Storage zugreifen.
Console
Wenn Sie sich die Jobausgabe ansehen möchten, rufen Sie den Abschnitt Jobs Ihres Projekts auf und klicken Sie auf Job-ID, um die Jobausgabe anzusehen.
Wenn der Job ausgeführt wird, wird die Jobausgabe regelmäßig mit neuen Inhalten aktualisiert.
gcloud-Befehl
Wenn Sie einen Job mit dem Befehl gcloud qwiklabsjobssubmit senden, wird die Jobausgabe in der Konsole angezeigt. Sie können die Ausgabe später auf einem anderen Computer oder in einem neuen Fenster wieder aufnehmen, indem Sie die Job-ID an den Befehl gcloud qwiklabsjobs Wait übergeben. Die Job-ID ist eine GUID wie z. B. 5c1754a5-34f7-4553-b667-8a1199cb9cab
. Hier ein Beispiel:
gcloud dataproc jobs wait 5c1754a5-34f7-4553-b667-8a1199cb9cab \ --project my-project-id --region my-cluster-region
Waiting for job output... ... INFO gcs.GoogleHadoopFileSystemBase: GHFS version: 1.4.2-hadoop2 ... 16:47:45 INFO client.RMProxy: Connecting to ResourceManager at my-test-cluster-m/ ...
Cloud Storage
Die Jobausgabe wird in Cloud Storage entweder im Staging-Bucket oder in dem Bucket gespeichert, den Sie beim Erstellen des Clusters angegeben haben. Ein Link zur Jobausgabe in Cloud Storage wird im Feld Job.driverOutputResourceUri bereitgestellt, der von Folgendem zurückgegeben wird:
- Eine API-Anfrage des Typs jobs.get
- Der Befehl gcloud developersjobs job-id.
$ gcloud dataproc jobs describe spark-pi ... driverOutputResourceUri: gs://dataproc-nnn/jobs/spark-pi/driveroutput ...