Serverloze schrijfopties voor gebundelde connectors

Bij het schrijven naar een externe gegevensbron met behulp van een gebundelde connector op serverloze compute, worden alleen een subset van connectoropties ondersteund. De volgende tabellen bevatten de ondersteunde opties per connector.

Zie Spark-gegevensbronnen voor installatie-instructies en voorbeelden.

PostgreSQL

De volgende opties worden ondersteund bij het schrijven naar PostgreSQL op serverloze berekeningen.

Option Description
host Hostnaam van de PostgreSQL-server.
port Poortnummer. Standaard: 5432.
database Naam van de database waarmee verbinding moet worden gemaakt.
connectTimeout Maximale tijd in seconden om te wachten op een verbinding. 0 schakelt de time-out uit.
user Gebruikersnaam van database.
password Databasewachtwoord.
dbtable Naam van doeltabel. Ondersteunt schema-gekwalificeerde namen (bijvoorbeeld myschema.mytable).
batchsize Aantal rijen dat per batch moet worden ingevoegd. Standaard: 1000.
numPartitions Aantal Spark-partities voor parallelle schrijfbewerkingen.
queryTimeout Maximale tijd in seconden om te wachten totdat een query is voltooid. 0 schakelt de time-out uit.
isolationLevel Niveau van transactieisolatie: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, of SERIALIZABLE. Standaard: READ_UNCOMMITTED.
truncate Als true, kapt u de doeltabel af in overwrite de modus in plaats van deze te verwijderen en opnieuw te maken. Standaard: false.
cascadeTruncate Als true, trapsgewijs afkappen naar tabellen met refererende sleutelverwijzingen naar de doeltabel. Standaard: false.

SQL Server

De volgende opties worden ondersteund bij het schrijven naar SQL Server op serverloze berekeningen.

Option Description
host Hostnaam van het SQL Server-exemplaar.
port Poortnummer. Standaard: 1433.
database Naam van de database waarmee verbinding moet worden gemaakt.
connectionTimeout Maximale tijd in seconden om te wachten op een verbinding. 0 schakelt de time-out uit.
encrypt Als true, versleutelt alle gegevens die worden verzonden tussen de client en server met behulp van TLS. Standaard: false.
trustServerCertificate Als true, vertrouwt het TLS-certificaat van de server zonder validatie. Alleen voor ontwikkelomgevingen. Standaard: false.
debug Als trueu uitgebreide logboekregistratie voor foutopsporing voor de connector inschakelt. Standaard: false.
user Gebruikersnaam van database.
password Databasewachtwoord.
authentication Verificatietype. Ondersteunde waarden: SqlPassword, ActiveDirectoryPassword, ActiveDirectoryMSI.
dbtable Naam van doeltabel. Ondersteunt schema-gekwalificeerde namen (bijvoorbeeld myschema.mytable).
batchsize Aantal rijen dat per batch moet worden ingevoegd. Standaard: 1000.
numPartitions Aantal Spark-partities voor parallelle schrijfbewerkingen.
queryTimeout Maximale tijd in seconden om te wachten totdat een query is voltooid. 0 schakelt de time-out uit.
isolationLevel Niveau van transactieisolatie: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, of SERIALIZABLE. Standaard: READ_UNCOMMITTED.
truncate Als true, kapt u de doeltabel af in overwrite de modus in plaats van deze te verwijderen en opnieuw te maken. Standaard: false.

MySQL

De volgende opties worden ondersteund bij het schrijven naar MySQL op serverloze berekeningen.

Option Description
host Hostnaam van de MySQL-server.
port Poortnummer. Standaard: 3306.
database Naam van de database waarmee verbinding moet worden gemaakt.
connectionTimeout Maximale tijd in seconden om te wachten op een verbinding. 0 schakelt de time-out uit.
requireSSL Als trueer een met SSL versleutelde verbinding met de server is vereist. Standaard: false.
useSSL Als trueu SSL inschakelt voor de verbinding wanneer deze wordt ondersteund door de server. Standaard: false.
user Gebruikersnaam van database.
password Databasewachtwoord.
dbtable Naam van doeltabel. Ondersteunt schema-gekwalificeerde namen (bijvoorbeeld myschema.mytable).
batchsize Aantal rijen dat per batch moet worden ingevoegd. Standaard: 1000.
numPartitions Aantal Spark-partities voor parallelle schrijfbewerkingen.
queryTimeout Maximale tijd in seconden om te wachten totdat een query is voltooid. 0 schakelt de time-out uit.
isolationLevel Niveau van transactieisolatie: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, of SERIALIZABLE. Standaard: READ_UNCOMMITTED.
truncate Als true, kapt u de doeltabel af in overwrite de modus in plaats van deze te verwijderen en opnieuw te maken. Standaard: false.
cascadeTruncate Als true, trapsgewijs afkappen naar tabellen met refererende sleutelverwijzingen naar de doeltabel. Standaard: false.

Sneeuwvlok

De volgende secties bevatten de ondersteunde opties voor de Snowflake-connector, ingedeeld op functie.

Verbinding

Met de volgende opties configureert u de verbinding met Snowflake en het gedrag van de sessie beheren.

Option Description
host Hostnaam van Snowflake-account (bijvoorbeeld <account>.snowflakecomputing.com).
port Poortnummer. Standaard: 443.
sfaccount Snowflake-account-id.
sfauthenticator Verificatiemethode: snowflake (wachtwoord), oauth (token) of snowflake_jwt (sleutelpaar). Standaard: snowflake.
networktimeout Time-out in seconden voor netwerkbewerkingen.
sftimezone Tijdzone voor tijdstempelbewerkingen (bijvoorbeeld America/New_York).
client_session_keep_alive Als true, verzendt keepalive signalen om sessietime-out tijdens langdurige bewerkingen te voorkomen. Standaard: false.
ocspfailopen Als trueverbindingen kunnen worden voortgezet wanneer OCSP-certificaatvalidatie niet beschikbaar is (modus mislukt openen). Standaard: true.

Authentication

De volgende opties leveren referenties op voor de verificatiemethode die is geconfigureerd in sfauthenticator. Faseringsreferenties (temporary_aws_*, awsaccesskey, temporary_azure_sas_token) zijn vereist wanneer Snowflake-fasen gegevens schrijven via cloudopslag.

Option Description
sfuser Snowflake gebruikersnaam.
sfpassword Snowflake-wachtwoord. Wordt gebruikt wanneer sfauthenticator .snowflake
sfToken OAuth-toegangstoken. Wordt gebruikt wanneer sfauthenticator .oauth
pem_private_key Persoonlijke sleutel in PEM-indeling voor verificatie met sleutelpaar. Wordt gebruikt wanneer sfauthenticator .snowflake_jwt
temporary_aws_access_key_id Tijdelijke AWS-toegangssleutel-id voor S3-fasering. Voorkeur boven awsaccesskey wanneer u referenties met een korte levensduur gebruikt.
temporary_aws_secret_access_key Tijdelijke AWS-geheime toegangssleutel voor S3-fasering.
temporary_aws_session_token Tijdelijk AWS-sessietoken voor S3-fasering.
temporary_azure_sas_token Tijdelijke Azure SAS-token voor Azure Blob Storage fasering.
awsaccesskey AWS-toegangssleutel voor S3-fasering.
awssecretkey AWS-geheime sleutel voor S3-fasering.

Doel

Met de volgende opties geeft u de Snowflake-database, het schema, het magazijn en de tabel op waarnaar u wilt schrijven.

Option Description
sfdatabase De naam van de Snowflake-database.
sfschema De naam van het Snowflake-schema.
sfwarehouse Snowflake Virtual Warehouse dat wordt gebruikt voor het uitvoeren van query's.
sfrole Snowflake-rol voor de sessie.
dbtable Naam van doeltabel.

Schrijfgedrag

Met de volgende opties bepaalt u hoe gegevens naar de snowflake-doeltabel worden geschreven.

Option Description
column_mapping Hoe DataFrame-kolommen overeenkomen met snowflake-tabelkolommen: name (op kolomnaam) of position (op kolomvolgorde). Standaard: name.
column_mismatch_behavior Gedrag wanneer DataFrame- en tabelkolommen niet worden uitgelijnd: error of ignore. Standaard: error.
truncate_table Als true, kapt u de doeltabel af voordat u schrijft. Standaard: false.
usestagingtable Als true, faseringt gegevens in een tijdelijke tabel voordat ze worden omgewisseld naar het doel, waardoor atomische schrijfbewerkingen worden ingeschakeld. Standaard: true.
internal_execute_query_in_sync_mode Als true, voert Snowflake-query's synchroon uit. Standaard: false.
autopushdown Als true, pusht filter- en aggregatiebewerkingen omlaag naar Snowflake voor uitvoering. Standaard: true.

Redshift

De volgende secties bevatten de ondersteunde opties voor de Redshift-connector, ingedeeld op functie.

Verbinding

Met de volgende opties configureert u de verbinding met het Redshift-cluster.

Option Description
host Hostnaam van redshift-clustereindpunt.
port Poortnummer. Standaard: 5439.
database Naam van redshift-database.
connectionTimeout Maximale tijd in seconden om te wachten op een verbinding.

Authentication

Met de volgende opties configureert u referenties voor Redshift en voor de S3-faseringslocatie die Redshift gebruikt tijdens schrijfbewerkingen.

Option Description
user Redshift gebruikersnaam.
password Redshift-wachtwoord.
aws_iam_role ARN van de IAM-rol die Redshift gebruikt voor toegang tot S3 voor faseringsgegevens.
temporary_aws_access_key_id Tijdelijke AWS-toegangssleutel-id voor S3-fasering. Voorkeur boven referenties met een lange levensduur.
temporary_aws_secret_access_key Tijdelijke AWS-geheime toegangssleutel voor S3-fasering.
temporary_aws_session_token Tijdelijk AWS-sessietoken voor S3-fasering.
forward_spark_s3_credentials Als true, stuurt Spark's S3-referenties door naar Redshift voor fasering. Gebruik alleen wanneer Spark en Redshift dezelfde S3-referenties delen. Standaard: false.

Schrijfgedrag

Met de volgende opties bepaalt u hoe gegevens naar de doeltabel Redshift worden geschreven, waaronder distributie, sorteersleutels en faseringsindeling.

Option Description
dbtable Naam van doeltabel. Ondersteunt schema-gekwalificeerde namen (bijvoorbeeld myschema.mytable).
batchsize Aantal rijen per batchinvoeging. Standaard: 1000.
numPartitions Aantal Spark-partities voor parallelle schrijfbewerkingen.
queryTimeout Maximale tijd in seconden om te wachten totdat een query is voltooid.
isolationLevel Niveau van transactieisolatie: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, of SERIALIZABLE. Standaard: READ_UNCOMMITTED.
diststyle Redshift-distributiestijl: EVEN, KEYof ALL.
distkey Kolom die moet worden gebruikt als de distributiesleutel. Vereist wanneer diststyleKEY is.
sortkeyspec Sleutelspecificatie sorteren voor de Redshift-tabel (bijvoorbeeld SORTKEY(col1, col2)).
csvnullstring Tekenreeks die is geschreven in csv-bestanden voor fasering om waarden weer te geven NULL . Standaard: lege tekenreeks.
tempformat Faseringsbestandsindeling: CSV of AVRO. Standaard: CSV.
truncate Als true, kapt u de doeltabel af in overwrite de modus in plaats van deze te verwijderen en opnieuw te maken. Standaard: false.

Schrijven naar PostgreSQL op serverloze compute

In dit voorbeeld wordt de modus gebruikt append en worden referenties opgehaald uit een Databricks-geheim bereik.

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()

Volgende stappen 

  • Spark-gegevensbronnen: installatie-instructies, codevoorbeelden en een vergelijking van Spark-integratiestrategieĆ«n.
  • JDBC-verbinding: Gebruik een Unity Catalog-verbinding met een JDBC-stuurprogramma voor opties die niet worden ondersteund door gebundelde connectors op serverloze of voor gegevensbronnen zonder een gebundelde connector.
  • Naslaginformatie over Spark-API-opties: naslaginformatie voor DataFrameReader, DataFrameWriter en streamingopties voor bestandsindelingen en streamingbronnen.