Unterstützte Spark-Eigenschaften in Data Flow

Für jede Ausführung einer Datenflussanwendung können Sie Spark-Eigenschaften im Feld Spark-Konfigurationseigenschaften hinzufügen.

Weitere Informationen hierzu finden Sie in der Spark-Konfigurationsdokumentation.
Wichtig

Wenn Sie in Data Flow ausführen, ändern Sie den Wert von spark.master nicht. In diesem Fall verwendet der Job nicht alle Ressourcen, die Sie bereitgestellt haben.

Data Flow - Proprietäre Spark-Konfigurationsliste

Für Data Flow proprietäre Spark-Konfigurationen und deren Verwendung.

Data Flow-Spark-Konfigurationsliste
Spark-Konfiguration Verwendungsbeschreibung Anwendbare Spark-Versionen
dataflow.auth Wenn Sie den Konfigurationswert auf "resource_principal" setzen, wird die Resource Principal-Authentifizierung für die Data Flow-Ausführung aktiviert. Diese Konfiguration ist für Ausführungen erforderlich, die länger als 24 Stunden ausgeführt werden sollen. Richten Sie vor dem Aktivieren des Resource Principals die entsprechende Policy ein. Alles
spark.dataflow.acquireQuotaTimeout Mit Data Flow können Sie Jobs weiterleiten, wenn Sie nicht über genügend Ressourcen verfügen, um sie auszuführen. Die Jobs werden in einer internen Queue gehalten und freigegeben, wenn Ressourcen verfügbar werden. Data Flow prüft weiter, bis der festgelegte Timeoutwert abgeschlossen ist. Sie legen die Eigenschaft spark.dataflow.acquireQuotaTimeout fest, um diesen Timeoutwert anzugeben. Legen Sie die Eigenschaft unter Erweiterte Optionen fest, wenn Sie eine Anwendung erstellen oder eine Anwendung ausführen. Beispiel:
spark.dataflow.acquireQuotaTimeout = 1h
spark.dataflow.acquireQuotaTimeout = 30m
spark.dataflow.acquireQuotaTimeout = 45min
Verwenden Sie h, um Timeoutstunden darzustellen, und m oder min, um Timeoutminuten darzustellen.

Hinweis: Wenn spark.dataflow.acquireQuotaTimeout nicht festgelegt ist, wird eine Ausführung nur akzeptiert, wenn die erforderlichen Ressourcen verfügbar sind.

Alles
spark.archives#conda Die Konfiguration spark.archives erfüllt genau dieselben Funktionen wie das Open-Source-Pendant. Wenn Sie Conda als Packagemanager verwenden, um PySpark-Jobs in OCI Data Flow weiterzuleiten, hängen Sie #conda an die Artefaktpackageeinträge an, damit Data Flow die Artefakte in ein ordnungsgemäßes Verzeichnis extrahiert.
oci://<bucket-name>@<namespace-name>/<path>/artififact.tar.gz#conda
Weitere Informationen finden Sie unter Conda Pack mit Data Flow integrieren).
3.2.1 oder höher
spark.dataflow.streaming.restartPolicy.restartPeriod

Hinweis: Gilt nur für den Data Flow-Streamingtyp.

Diese Eigenschaft gibt eine Mindestverzögerung zwischen Neustarts für eine Streaming-Anwendung an. Der Standardwert ist auf 3 Minuten gesetzt, um vorübergehende Probleme zu vermeiden, die viele Neustarts in einem bestimmten Zeitraum verursachen.

3.0.2, 3.2.1 oder höher
spark.dataflow.streaming.restartPolicy.maxConsecutiveFailures

Hinweis: Gilt nur für den Data Flow-Streamingtyp.

Diese Eigenschaft gibt die maximale Anzahl aufeinanderfolgender Fehler an, die auftreten können, bevor Data Flow den Neustart einer nicht erfolgreichen Streaminganwendung stoppt. Der Standardwert beträgt 10 .

3.0.2, 3.2.1 oder höher
spark.sql.streaming.graceful.shutdown.timeout

Hinweis: Gilt nur für den Data Flow-Streamingtyp.

Bei Data Flow-Streamingausführungen wird die Dauer des Herunterfahrens verwendet, um Checkpointdaten beizubehalten, die aus dem vorherigen Status neu gestartet werden sollen. Die Konfiguration gibt die maximale Zeit an, die Data Flow-Streamingausführungen zum ordnungsgemäßen Beibehalten des Checkpointstatus verwenden können, bevor sie zum Herunterfahren gezwungen werden. Der Standard ist 30 Minuten.

3.0.2, 3.2.1 oder höher
spark.oracle.datasource.enabled

Die Spark-Oracle-Datenquelle ist eine Erweiterung der Spark-JDBC-Datenquelle. Sie vereinfacht das Herstellen von Verbindungen zu Oracle-Datenbanken von Spark. Zusätzlich zu allen Optionen, die von der Spark-JDBC-Datenquelle bereitgestellt werden, vereinfacht die Spark-Oracle-Datenquelle das Herstellen von Verbindungen zu Oracle-Datenbanken von Spark, indem Folgendes bereitgestellt wird:

  • Ein Wallet, das automatisch von der autonomen Datenbank heruntergeladen wird. Das Wallet muss also nicht heruntergeladen und im Objektspeicher oder Vault gespeichert werden.
  • Automatische Verteilung des Wallet-Bundles aus Object Storage an den Treiber und den Executor, ohne benutzerdefinierten Code von Benutzern.
  • JAR-Dateien des JDBC-Treibers, sodass sie nicht mehr heruntergeladen und in die Datei archive.zip aufgenommen werden müssen. Der JDBC-Treiber ist Version 21.3.0.0.
Um die Spark-Oracle-Datenquelle zu aktivieren, setzen Sie die Konfiguration spark.oracle.datasource.enabled auf den Wert "true":
spark.oracle.datasource.enabled = true
Weitere Informationen finden Sie unter Spark-Oracle-Datenquelle.
3.0.2 oder höher
spark.scheduler.minRegisteredResourcesRatio

Standardwert: 1.0

Hinweis: Wird als Doppelpunkt zwischen 0.0 und 1.0 angegeben.

Das Mindestverhältnis der registrierten Ressourcen pro erwarteter Gesamtressource, auf das gewartet wird, bevor eine Ausführung in der Jobschicht geplant wird. Die Anpassung dieses Parameters beinhaltet einen Kompromiss zwischen einem schnelleren Jobstart und der Gewährleistung einer angemessenen Ressourcenverfügbarkeit.

Beispiel: Ein Wert von 0,8 bedeutet, dass 80% der Ressourcen gewartet haben.

Alles
spark.dataflow.overAllocationRatio

Standardwert: 1.0

Hinweis: Wird als Doppelwert angegeben, der größer oder gleich 1.0 ist.

Das Verhältnis der übermäßigen Ressourcenerstellung, um Jobfehler zu vermeiden, die sich daraus ergeben, dass kein kleiner Teil der Instanzen erstellt wurde. Die Erstellung zusätzlicher Instanzen wird nur während der Erstellungsphase in Rechnung gestellt und nach dem Start des Jobs beendet.

Beispiel: Der Wert 1,1 bedeutet, dass 10% mehr Ressourcen erstellt wurden, um die erwarteten Ressourcen für Kundenjobs aufzunehmen.

Alles