Serverlose Schreiboptionen für gebündelte Connectors

Beim Schreiben in eine externe Datenquelle mithilfe eines gebündelten Connectors auf serverloser Berechnung werden nur eine Teilmenge der Connectoroptionen unterstützt. In den folgenden Tabellen sind die unterstützten Optionen pro Connector aufgeführt.

Anweisungen zum Einrichten und Beispiele finden Sie in Spark-Datenquellen.

PostgreSQL

Die folgenden Optionen werden beim Schreiben in PostgreSQL auf serverlosem Compute unterstützt.

Auswahl Description
host Hostname des PostgreSQL-Servers.
port Portnummer Standardwert: 5432.
database Name der Datenbank, mit der eine Verbindung hergestellt werden soll.
connectTimeout Maximale Zeit in Sekunden, um auf eine Verbindung zu warten. 0 deaktiviert das Timeout.
user Datenbankbenutzername.
password Datenbankkennwort.
dbtable Zieltabellenname. Unterstützt schemaqualifizierte Namen (z. B myschema.mytable. ).
batchsize Anzahl der Zeilen, die pro Batch eingefügt werden sollen. Standardwert: 1000.
numPartitions Anzahl der Spark-Partitionen für parallele Schreibvorgänge.
queryTimeout Maximale Zeit in Sekunden, bis eine Abfrage abgeschlossen ist. 0 deaktiviert das Timeout.
isolationLevel Transaktionsisolationsstufe: NONE, READ_COMMITTED, , READ_UNCOMMITTED, REPEATABLE_READoder SERIALIZABLE. Standardwert: READ_UNCOMMITTED.
truncate Wenn true, schneidet die Zieltabelle im overwrite Modus ab, anstatt sie zu löschen und neu zu erstellen. Standardwert: false.
cascadeTruncate Wenn true, kaskadiert die Abkürzung an Tabellen mit Fremdschlüsselverweise auf die Zieltabelle. Standardwert: false.

SQL Server

Die folgenden Optionen werden beim Schreiben in SQL Server auf serverloser Berechnung unterstützt.

Auswahl Description
host Hostname der SQL Server-Instanz.
port Portnummer Standardwert: 1433.
database Name der Datenbank, mit der eine Verbindung hergestellt werden soll.
connectionTimeout Maximale Zeit in Sekunden, um auf eine Verbindung zu warten. 0 deaktiviert das Timeout.
encrypt Wenn true, verschlüsselt alle Daten, die zwischen dem Client und dem Server mit TLS gesendet werden. Standardwert: false.
trustServerCertificate Wenn true, vertraut das TLS-Zertifikat des Servers ohne Überprüfung. Nur für Entwicklungsumgebungen. Standardwert: false.
debug Wenn true, aktiviert ausführliche Debugprotokollierung für den Connector. Standardwert: false.
user Datenbankbenutzername.
password Datenbankkennwort.
authentication Authentifizierungstyp. Unterstützte Werte: SqlPassword, ActiveDirectoryPassword, ActiveDirectoryMSI.
dbtable Zieltabellenname. Unterstützt schemaqualifizierte Namen (z. B myschema.mytable. ).
batchsize Anzahl der Zeilen, die pro Batch eingefügt werden sollen. Standardwert: 1000.
numPartitions Anzahl der Spark-Partitionen für parallele Schreibvorgänge.
queryTimeout Maximale Zeit in Sekunden, bis eine Abfrage abgeschlossen ist. 0 deaktiviert das Timeout.
isolationLevel Transaktionsisolationsstufe: NONE, READ_COMMITTED, , READ_UNCOMMITTED, REPEATABLE_READoder SERIALIZABLE. Standardwert: READ_UNCOMMITTED.
truncate Wenn true, schneidet die Zieltabelle im overwrite Modus ab, anstatt sie zu löschen und neu zu erstellen. Standardwert: false.

MySQL

Die folgenden Optionen werden beim Schreiben in MySQL auf serverlosem Compute unterstützt.

Auswahl Description
host Hostname des MySQL-Servers.
port Portnummer Standardwert: 3306.
database Name der Datenbank, mit der eine Verbindung hergestellt werden soll.
connectionTimeout Maximale Zeit in Sekunden, um auf eine Verbindung zu warten. 0 deaktiviert das Timeout.
requireSSL Wenn trueeine SSL-verschlüsselte Verbindung mit dem Server erforderlich ist. Standardwert: false.
useSSL Wenn true, aktiviert SSL für die Verbindung, wenn vom Server unterstützt. Standardwert: false.
user Datenbankbenutzername.
password Datenbankkennwort.
dbtable Zieltabellenname. Unterstützt schemaqualifizierte Namen (z. B myschema.mytable. ).
batchsize Anzahl der Zeilen, die pro Batch eingefügt werden sollen. Standardwert: 1000.
numPartitions Anzahl der Spark-Partitionen für parallele Schreibvorgänge.
queryTimeout Maximale Zeit in Sekunden, bis eine Abfrage abgeschlossen ist. 0 deaktiviert das Timeout.
isolationLevel Transaktionsisolationsstufe: NONE, READ_COMMITTED, , READ_UNCOMMITTED, REPEATABLE_READoder SERIALIZABLE. Standardwert: READ_UNCOMMITTED.
truncate Wenn true, schneidet die Zieltabelle im overwrite Modus ab, anstatt sie zu löschen und neu zu erstellen. Standardwert: false.
cascadeTruncate Wenn true, kaskadiert die Abkürzung an Tabellen mit Fremdschlüsselverweise auf die Zieltabelle. Standardwert: false.

Schneeflocke

In den folgenden Abschnitten werden die unterstützten Optionen für den Snowflake-Verbinder aufgeführt, organisiert nach Funktion.

Verbindung

Die folgenden Optionen konfigurieren die Verbindung mit Snowflake und Steuern des Sitzungsverhaltens.

Auswahl Description
host Snowflake Konto hostname (z. B <account>.snowflakecomputing.com. ).
port Portnummer Standardwert: 443.
sfaccount Snowflake-Kontobezeichner.
sfauthenticator Authentifizierungsmethode: snowflake (Kennwort), oauth (Token) oder snowflake_jwt (Schlüsselpaar). Standardwert: snowflake.
networktimeout Timeout in Sekunden für Netzwerkvorgänge.
sftimezone Zeitzone für Zeitstempelvorgänge (z. B America/New_York. ).
client_session_keep_alive Wenn true, sendet Keepalive Signale, um sitzungstimeout während lang ausgeführter Vorgänge zu verhindern. Standardwert: false.
ocspfailopen Wenn trueverbindungen fortgesetzt werden können, wenn die OCSP-Zertifikatüberprüfung nicht verfügbar ist (Fail-Open-Modus). Standardwert: true.

Authentifizierung

Die folgenden Optionen geben Anmeldeinformationen für die Authentifizierungsmethode an, die in sfauthenticator. Staging-Anmeldeinformationen (temporary_aws_*, awsaccesskey, temporary_azure_sas_token) sind erforderlich, wenn Snowflake-Phasen Daten über Cloudspeicher schreiben.

Auswahl Description
sfuser Snowflake Benutzername.
sfpassword Snowflake-Kennwort. Wird verwendet, wenn sfauthenticator das ist snowflake.
sfToken OAuth-Zugriffstoken. Wird verwendet, wenn sfauthenticator das ist oauth.
pem_private_key Privater Schlüssel im PEM-Format für die Schlüsselpaarauthentifizierung. Wird verwendet, wenn sfauthenticator das ist snowflake_jwt.
temporary_aws_access_key_id Temporäre AWS-Zugriffstasten-ID für S3-Staging. awsaccesskey Bevorzugt bei verwendung von kurzlebigen Anmeldeinformationen.
temporary_aws_secret_access_key Temporärer geheimer AWS-Zugriffsschlüssel für S3-Staging.
temporary_aws_session_token Temporäres AWS-Sitzungstoken für S3-Staging.
temporary_azure_sas_token Temporäres Azure SAS-Token für Azure Blob Storage Staging.
awsaccesskey AWS-Zugriffsschlüssel für S3-Staging.
awssecretkey AWS secret key for S3 staging.

Ziel

Die folgenden Optionen geben die Snowflake-Datenbank, das Schema, das Lager und die Tabelle an, in die geschrieben werden soll.

Auswahl Description
sfdatabase Snowflake-Datenbankname.
sfschema Snowflake-Schemaname.
sfwarehouse Snowflake virtual warehouse, das für die Abfrageausführung verwendet wird.
sfrole Snowflake-Rolle für die Sitzung.
dbtable Zieltabellenname.

Verhalten bei Schreibvorgang

Mit den folgenden Optionen wird gesteuert, wie Daten in die Snowflake-Zieltabelle geschrieben werden.

Auswahl Description
column_mapping Wie DataFrame-Spalten mit Snowflake-Tabellenspalten übereinstimmen: name (nach Spaltenname) oder position (nach Spaltenreihenfolge). Standardwert: name.
column_mismatch_behavior Verhalten, wenn DataFrame- und Tabellenspalten nicht ausgerichtet werden: error oder ignore. Standardwert: error.
truncate_table Wenn truedie Zieltabelle vor dem Schreiben abgeschnitten wird. Standardwert: false.
usestagingtable Wenn true, die Daten in einer temporären Tabelle vor dem Austauschen in das Ziel stufen, aktivieren Sie atomrische Schreibvorgänge. Standardwert: true.
internal_execute_query_in_sync_mode Wenn true, führt Snowflake-Abfragen synchron aus. Standardwert: false.
autopushdown Wenn true, verschiebt Filter- und Aggregationsvorgänge zur Ausführung an Snowflake. Standardwert: true.

Redshift

In den folgenden Abschnitten werden die unterstützten Optionen für den Redshift-Verbinder aufgeführt, organisiert nach Funktion.

Verbindung

Die folgenden Optionen konfigurieren die Verbindung mit dem Redshift-Cluster.

Auswahl Description
host Hostname des Redshift-Clusterendpunkts.
port Portnummer Standardwert: 5439.
database Name der Redshift-Datenbank.
connectionTimeout Maximale Zeit in Sekunden, um auf eine Verbindung zu warten.

Authentifizierung

Die folgenden Optionen konfigurieren Anmeldeinformationen für Redshift und für den S3-Stagingspeicherort, den Redshift während schreibvorgängen verwendet.

Auswahl Description
user Redshift username.
password Kennwort für rotverschiebig.
aws_iam_role ARN der ROLLE IAM, die Redshift für den Zugriff auf S3 für Stagingdaten verwendet.
temporary_aws_access_key_id Temporäre AWS-Zugriffstasten-ID für S3-Staging. Bevorzugt über langlebige Anmeldeinformationen.
temporary_aws_secret_access_key Temporärer geheimer AWS-Zugriffsschlüssel für S3-Staging.
temporary_aws_session_token Temporäres AWS-Sitzungstoken für S3-Staging.
forward_spark_s3_credentials Wenn true, leitet spark's S3-Anmeldeinformationen zur Staging an Redshift weiter. Wird nur verwendet, wenn Spark und Redshift dieselben S3-Anmeldeinformationen gemeinsam nutzen. Standardwert: false.

Verhalten bei Schreibvorgang

Die folgenden Optionen steuern, wie Daten in die Redshift-Zieltabelle geschrieben werden, einschließlich Verteilung, Sortierschlüssel und Stagingformat.

Auswahl Description
dbtable Zieltabellenname. Unterstützt schemaqualifizierte Namen (z. B myschema.mytable. ).
batchsize Anzahl der Zeilen pro Batcheinfügung. Standardwert: 1000.
numPartitions Anzahl der Spark-Partitionen für parallele Schreibvorgänge.
queryTimeout Maximale Zeit in Sekunden, bis eine Abfrage abgeschlossen ist.
isolationLevel Transaktionsisolationsstufe: NONE, READ_COMMITTED, , READ_UNCOMMITTED, REPEATABLE_READoder SERIALIZABLE. Standardwert: READ_UNCOMMITTED.
diststyle Redshift-Verteilungsart: EVEN, KEY, oder ALL.
distkey Spalte, die als Verteilungsschlüssel verwendet werden soll. Erforderlich, wenn diststyle gleich KEY ist.
sortkeyspec Sortierschlüsselspezifikation für die Redshift-Tabelle (z. B SORTKEY(col1, col2). ).
csvnullstring Zeichenfolge, die in CSV-Stagingdateien geschrieben wurde, um Werte darzustellen NULL . Standard: leere Zeichenfolge.
tempformat Stagingdateiformat: CSV oder AVRO. Standardwert: CSV.
truncate Wenn true, schneidet die Zieltabelle im overwrite Modus ab, anstatt sie zu löschen und neu zu erstellen. Standardwert: false.

Schreiben in PostgreSQL auf serverlosem Compute

In diesem Beispiel wird der Modus verwendet append und Anmeldeinformationen aus einem geheimen Databricks-Bereich abgerufen.

df.write \
  .format("postgresql") \
  .option("host", dbutils.secrets.get(scope="<scope>", key="<host>")) \
  .option("port", "<port>") \
  .option("database", "<database-name>") \
  .option("dbtable", "<table-name>") \
  .option("user", dbutils.secrets.get(scope="<scope>", key="<user>")) \
  .option("password", dbutils.secrets.get(scope="<scope>", key="<password>")) \
  .mode("append") \
  .save()

Nächste Schritte

  • Spark-Datenquellen: Einrichtungsanweisungen, Codebeispiele und vergleicht Spark-Integrationsstrategien.
  • UNITY-Verbindung: Verwenden Sie eine Unity Catalog-Verbindung mit einem UNITY-Treiber für Optionen, die nicht von gebündelten Connectors auf serverlosen Servern oder für Datenquellen ohne gebündelten Connector unterstützt werden.
  • Referenz zu Spark-API-Optionen: Referenz für DataFrameReader, DataFrameWriter und Streamingoptionen für Dateiformate und Streamingquellen.