Serverlösa skrivalternativ för paketerade anslutningsappar

När du skriver till en extern datakälla med en paketerad anslutningsapp för serverlös beräkning stöds endast en delmängd av anslutningsalternativen. I följande tabeller visas de alternativ som stöds per anslutningsapp.

Installationsanvisningar och exempel finns i Spark-datakällor.

PostgreSQL

Följande alternativ stöds när du skriver till PostgreSQL på serverlös beräkning.

Option Description
host Värdnamn för PostgreSQL-servern.
port Portnummer. Förvald: 5432.
database Namnet på databasen som ska anslutas till.
connectTimeout Maximal tid i sekunder för att vänta på en anslutning. 0 inaktiverar tidsgränsen.
user Databasanvändarnamn.
password Databaslösenord.
dbtable Måltabellens namn. Stöder schemakvalificerade namn (till exempel myschema.mytable).
batchsize Antal rader som ska infogas per batch. Förvald: 1000.
numPartitions Antal Spark-partitioner för parallella skrivåtgärder.
queryTimeout Maximal tid i sekunder för att vänta tills en fråga har slutförts. 0 inaktiverar tidsgränsen.
isolationLevel Transaktionsisoleringsnivå: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READeller SERIALIZABLE. Förvald: READ_UNCOMMITTED.
truncate Om truetrunkerar , trunkerar måltabellen i läge i overwrite stället för att släppa och återskapa den. Förvald: false.
cascadeTruncate Om true, överlappar trunkeringen till tabeller med sekundärnyckelreferenser till måltabellen. Förvald: false.

SQL Server

Följande alternativ stöds när du skriver till SQL Server på serverlös beräkning.

Option Description
host Värdnamn för den SQL Server instansen.
port Portnummer. Förvald: 1433.
database Namnet på databasen som ska anslutas till.
connectionTimeout Maximal tid i sekunder för att vänta på en anslutning. 0 inaktiverar tidsgränsen.
encrypt Om truekrypterar krypterar alla data som skickas mellan klienten och servern med hjälp av TLS. Förvald: false.
trustServerCertificate Om true, litar på serverns TLS-certifikat utan validering. Endast för utvecklingsmiljöer. Förvald: false.
debug Om trueaktiverar , utförlig felsökningsloggning för anslutningsappen. Förvald: false.
user Databasanvändarnamn.
password Databaslösenord.
authentication Autentiseringstyp. Värden som stöds: SqlPassword, ActiveDirectoryPassword, ActiveDirectoryMSI.
dbtable Måltabellens namn. Stöder schemakvalificerade namn (till exempel myschema.mytable).
batchsize Antal rader som ska infogas per batch. Förvald: 1000.
numPartitions Antal Spark-partitioner för parallella skrivåtgärder.
queryTimeout Maximal tid i sekunder för att vänta tills en fråga har slutförts. 0 inaktiverar tidsgränsen.
isolationLevel Transaktionsisoleringsnivå: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READeller SERIALIZABLE. Förvald: READ_UNCOMMITTED.
truncate Om truetrunkerar , trunkerar måltabellen i läge i overwrite stället för att släppa och återskapa den. Förvald: false.

MySQL

Följande alternativ stöds när du skriver till MySQL på serverlös beräkning.

Option Description
host Värdnamn för MySQL-servern.
port Portnummer. Förvald: 3306.
database Namnet på databasen som ska anslutas till.
connectionTimeout Maximal tid i sekunder för att vänta på en anslutning. 0 inaktiverar tidsgränsen.
requireSSL Om truekräver en SSL-krypterad anslutning till servern. Förvald: false.
useSSL Om trueaktiverar du SSL för anslutningen när den stöds av servern. Förvald: false.
user Databasanvändarnamn.
password Databaslösenord.
dbtable Måltabellens namn. Stöder schemakvalificerade namn (till exempel myschema.mytable).
batchsize Antal rader som ska infogas per batch. Förvald: 1000.
numPartitions Antal Spark-partitioner för parallella skrivåtgärder.
queryTimeout Maximal tid i sekunder för att vänta tills en fråga har slutförts. 0 inaktiverar tidsgränsen.
isolationLevel Transaktionsisoleringsnivå: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READeller SERIALIZABLE. Förvald: READ_UNCOMMITTED.
truncate Om truetrunkerar , trunkerar måltabellen i läge i overwrite stället för att släppa och återskapa den. Förvald: false.
cascadeTruncate Om true, överlappar trunkeringen till tabeller med sekundärnyckelreferenser till måltabellen. Förvald: false.

Snöflinga

I följande avsnitt visas de alternativ som stöds för Snowflake-anslutningsappen, ordnade efter funktion.

Anslutning

Följande alternativ konfigurerar anslutningen till Snowflake och styr sessionsbeteendet.

Option Description
host Snowflake-kontovärdnamn (till exempel <account>.snowflakecomputing.com).
port Portnummer. Förvald: 443.
sfaccount Snowflake-kontoidentifierare.
sfauthenticator Autentiseringsmetod: snowflake (lösenord), oauth (token) eller snowflake_jwt (nyckelpar). Förvald: snowflake.
networktimeout Tidsgräns i sekunder för nätverksåtgärder.
sftimezone Tidszon för tidsstämpelåtgärder (till exempel America/New_York).
client_session_keep_alive Om trueskickar skickar keepalive-signaler för att förhindra sessionstimeout under långvariga åtgärder. Förvald: false.
ocspfailopen Om truetillåter kan anslutningar fortsätta när OCSP-certifikatvalidering inte är tillgänglig (läget för att öppna fel). Förvald: true.

Authentication

Följande alternativ anger autentiseringsuppgifter för den autentiseringsmetod som konfigurerats i sfauthenticator. Mellanlagringsuppgifter (temporary_aws_*, awsaccesskey, temporary_azure_sas_token) krävs när Snowflake mellanlagringar skriver data via molnlagring.

Option Description
sfuser Snowflake användarnamn.
sfpassword Snowflake-lösenord. Används när sfauthenticator är snowflake.
sfToken OAuth-åtkomsttoken. Används när sfauthenticator är oauth.
pem_private_key Privat nyckel i PEM-format för nyckelparautentisering. Används när sfauthenticator är snowflake_jwt.
temporary_aws_access_key_id Tillfälligt AWS-åtkomstnyckel-ID för S3-mellanlagring. Föredras framför awsaccesskey när du använder kortlivade autentiseringsuppgifter.
temporary_aws_secret_access_key Tillfällig AWS-hemlig åtkomstnyckel för S3-mellanlagring.
temporary_aws_session_token Tillfällig AWS-sessionstoken för S3-mellanlagring.
temporary_azure_sas_token Tillfällig Azure SAS-token för Azure Blob Storage mellanlagring.
awsaccesskey AWS-åtkomstnyckel för S3-mellanlagring.
awssecretkey AWS-hemlig nyckel för S3-mellanlagring.

Target

Följande alternativ anger den Snowflake-databas, schema, lager och tabell som du vill skriva till.

Option Description
sfdatabase Snowflake-databasnamn.
sfschema Snowflake-schemanamn.
sfwarehouse Det virtuella snowflake-lagret används för frågekörning.
sfrole Snowflake-roll för sessionen.
dbtable Måltabellens namn.

Skrivbeteende

Följande alternativ styr hur data skrivs till snowflake-måltabellen.

Option Description
column_mapping Hur DataFrame-kolumner matchas med Snowflake-tabellkolumner: name (efter kolumnnamn) eller position (efter kolumnordning). Förvald: name.
column_mismatch_behavior Beteende när DataFrame- och tabellkolumner inte justeras: error eller ignore. Förvald: error.
truncate_table Om truetrunkerar , trunkerar måltabellen innan du skriver. Förvald: false.
usestagingtable Om true, mellanfasar data i en tillfällig tabell innan du byter till målet aktiverar du atomiska skrivningar. Förvald: true.
internal_execute_query_in_sync_mode Om truekör du Snowflake-frågor synkront. Förvald: false.
autopushdown Om true, push-överför filter- och aggregeringsåtgärder till Snowflake för körning. Förvald: true.

Redshift

I följande avsnitt visas de alternativ som stöds för Redshift-anslutningsappen, ordnade efter funktion.

Anslutning

Följande alternativ konfigurerar anslutningen till Redshift-klustret.

Option Description
host Redshift-klusterslutpunktens värdnamn.
port Portnummer. Förvald: 5439.
database Redshift-databasnamn.
connectionTimeout Maximal tid i sekunder för att vänta på en anslutning.

Authentication

Följande alternativ konfigurerar autentiseringsuppgifter för Redshift och för den S3-mellanlagringsplats som Redshift använder under skrivåtgärder.

Option Description
user Redshift användarnamn.
password Redshift-lösenord.
aws_iam_role ARN för den IAM-roll som Redshift använder för att komma åt S3 för mellanlagringsdata.
temporary_aws_access_key_id Tillfälligt AWS-åtkomstnyckel-ID för S3-mellanlagring. Prioriteras framför långlivade autentiseringsuppgifter.
temporary_aws_secret_access_key Tillfällig AWS-hemlig åtkomstnyckel för S3-mellanlagring.
temporary_aws_session_token Tillfällig AWS-sessionstoken för S3-mellanlagring.
forward_spark_s3_credentials Om truevidarebefordrar vi Sparks S3-autentiseringsuppgifter till Redshift för mellanlagring. Använd endast när Spark och Redshift delar samma S3-autentiseringsuppgifter. Förvald: false.

Skrivbeteende

Följande alternativ styr hur data skrivs till redshift-måltabellen, inklusive distribution, sorteringsnycklar och mellanlagringsformat.

Option Description
dbtable Måltabellens namn. Stöder schemakvalificerade namn (till exempel myschema.mytable).
batchsize Antal rader per batchinfogning. Förvald: 1000.
numPartitions Antal Spark-partitioner för parallella skrivåtgärder.
queryTimeout Maximal tid i sekunder för att vänta tills en fråga har slutförts.
isolationLevel Transaktionsisoleringsnivå: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READeller SERIALIZABLE. Förvald: READ_UNCOMMITTED.
diststyle Redshift-distributionsformat: EVEN, KEYeller ALL.
distkey Kolumn som ska användas som distributionsnyckel. Krävs när diststyle är KEY.
sortkeyspec Sorteringsnyckelspecifikation för Redshift-tabellen (till exempel SORTKEY(col1, col2)).
csvnullstring Sträng som skrivits i mellanlagring av CSV-filer för att representera NULL värden. Standard: tom sträng.
tempformat Mellanlagringsfilformat: CSV eller AVRO. Förvald: CSV.
truncate Om truetrunkerar , trunkerar måltabellen i läge i overwrite stället för att släppa och återskapa den. Förvald: false.

Skriva till PostgreSQL på serverlös beräkning

Det här exemplet använder append läge och hämtar autentiseringsuppgifter från ett databrickshemlighetsomfång.

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ästa steg

  • Spark-datakällor: Installationsanvisningar, kodexempel och en jämförelse av Spark-integreringsstrategier.
  • JDBC-anslutning: Använd en Unity Catalog-anslutning med en JDBC-drivrutin för alternativ som inte stöds av paketerade anslutningsappar på serverlösa eller för datakällor utan en paketerad anslutningsapp.
  • Referens för Alternativ för Spark API: Referens för DataFrameReader, DataFrameWriter och strömningsalternativ för filformat och strömningskällor.