Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si scrive in un'origine dati esterna usando un connettore in bundle nel calcolo serverless, sono supportati solo un subset di opzioni del connettore. Le tabelle seguenti elencano le opzioni supportate per ogni connettore.
Per istruzioni ed esempi di configurazione, vedere Origini dati Spark.
PostgreSQL
Quando si scrive in PostgreSQL in un ambiente di calcolo serverless, sono supportate le opzioni seguenti.
| Option | Description |
|---|---|
host |
Nome host del server PostgreSQL. |
port |
Numero porta. Impostazione predefinita: 5432. |
database |
Nome del database a cui connettersi. |
connectTimeout |
Tempo massimo in secondi di attesa per una connessione.
0 disabilita il timeout. |
user |
Nome utente del database. |
password |
Password del database. |
dbtable |
Nome tabella di destinazione. Supporta i nomi qualificati per lo schema , ad esempio myschema.mytable. |
batchsize |
Numero di righe da inserire per batch. Impostazione predefinita: 1000. |
numPartitions |
Numero di partizioni Spark per operazioni di scrittura parallele. |
queryTimeout |
Tempo massimo in secondi di attesa del completamento di una query.
0 disabilita il timeout. |
isolationLevel |
Livello di isolamento delle transazioni: NONE, READ_COMMITTED, REPEATABLE_READREAD_UNCOMMITTED, o SERIALIZABLE. Impostazione predefinita: READ_UNCOMMITTED. |
truncate |
Se true, tronca la tabella di destinazione in overwrite modalità anziché eliminarla e ricrearla. Impostazione predefinita: false. |
cascadeTruncate |
Se true, esegue il troncamento alle tabelle con riferimenti di chiave esterna alla tabella di destinazione. Impostazione predefinita: false. |
SQL Server
Durante la scrittura in SQL Server nel calcolo serverless sono supportate le opzioni seguenti.
| Option | Description |
|---|---|
host |
Nome host dell'istanza di SQL Server. |
port |
Numero porta. Impostazione predefinita: 1433. |
database |
Nome del database a cui connettersi. |
connectionTimeout |
Tempo massimo in secondi di attesa per una connessione.
0 disabilita il timeout. |
encrypt |
Se true, crittografa tutti i dati inviati tra il client e il server usando TLS. Impostazione predefinita: false. |
trustServerCertificate |
Se true, considera attendibile il certificato TLS del server senza convalida. Solo per gli ambienti di sviluppo. Impostazione predefinita: false. |
debug |
Se true, abilita la registrazione dettagliata del debug per il connettore. Impostazione predefinita: false. |
user |
Nome utente del database. |
password |
Password del database. |
authentication |
Tipo di autenticazione. Valori supportati: SqlPassword, ActiveDirectoryPassword, ActiveDirectoryMSI. |
dbtable |
Nome tabella di destinazione. Supporta i nomi qualificati per lo schema , ad esempio myschema.mytable. |
batchsize |
Numero di righe da inserire per batch. Impostazione predefinita: 1000. |
numPartitions |
Numero di partizioni Spark per operazioni di scrittura parallele. |
queryTimeout |
Tempo massimo in secondi di attesa del completamento di una query.
0 disabilita il timeout. |
isolationLevel |
Livello di isolamento delle transazioni: NONE, READ_COMMITTED, REPEATABLE_READREAD_UNCOMMITTED, o SERIALIZABLE. Impostazione predefinita: READ_UNCOMMITTED. |
truncate |
Se true, tronca la tabella di destinazione in overwrite modalità anziché eliminarla e ricrearla. Impostazione predefinita: false. |
MySQL
Quando si scrive in MySQL in un ambiente di calcolo serverless, sono supportate le opzioni seguenti.
| Option | Description |
|---|---|
host |
Nome host del server MySQL. |
port |
Numero porta. Impostazione predefinita: 3306. |
database |
Nome del database a cui connettersi. |
connectionTimeout |
Tempo massimo in secondi di attesa per una connessione.
0 disabilita il timeout. |
requireSSL |
Se true, richiede una connessione crittografata SSL al server. Impostazione predefinita: false. |
useSSL |
Se true, abilita SSL per la connessione se supportato dal server. Impostazione predefinita: false. |
user |
Nome utente del database. |
password |
Password del database. |
dbtable |
Nome tabella di destinazione. Supporta i nomi qualificati per lo schema , ad esempio myschema.mytable. |
batchsize |
Numero di righe da inserire per batch. Impostazione predefinita: 1000. |
numPartitions |
Numero di partizioni Spark per operazioni di scrittura parallele. |
queryTimeout |
Tempo massimo in secondi di attesa del completamento di una query.
0 disabilita il timeout. |
isolationLevel |
Livello di isolamento delle transazioni: NONE, READ_COMMITTED, REPEATABLE_READREAD_UNCOMMITTED, o SERIALIZABLE. Impostazione predefinita: READ_UNCOMMITTED. |
truncate |
Se true, tronca la tabella di destinazione in overwrite modalità anziché eliminarla e ricrearla. Impostazione predefinita: false. |
cascadeTruncate |
Se true, esegue il troncamento alle tabelle con riferimenti di chiave esterna alla tabella di destinazione. Impostazione predefinita: false. |
Snowflake
Le sezioni seguenti elencano le opzioni supportate per il connettore Snowflake, organizzate per funzione.
Connessione
Le opzioni seguenti configurano la connessione a Snowflake e controllano il comportamento della sessione.
| Option | Description |
|---|---|
host |
Snowflake account hostname (ad esempio, <account>.snowflakecomputing.com). |
port |
Numero porta. Impostazione predefinita: 443. |
sfaccount |
Identificatore dell'account Snowflake. |
sfauthenticator |
Metodo di autenticazione: snowflake (password), oauth (token) o snowflake_jwt (coppia di chiavi). Impostazione predefinita: snowflake. |
networktimeout |
Timeout in secondi per le operazioni di rete. |
sftimezone |
Fuso orario per le operazioni di timestamp , ad esempio America/New_York. |
client_session_keep_alive |
Se true, invia segnali keepalive per evitare il timeout della sessione durante le operazioni a esecuzione prolungata. Impostazione predefinita: false. |
ocspfailopen |
Se true, consente alle connessioni di continuare quando la convalida del certificato OCSP non è disponibile (modalità di apertura non riuscita). Impostazione predefinita: true. |
Authentication
Le opzioni seguenti forniscono le credenziali per il metodo di autenticazione configurato in sfauthenticator. Le credenziali di gestione temporanea (temporary_aws_*, awsaccesskey, temporary_azure_sas_token) sono necessarie quando le fasi snowflake scrivono i dati tramite l'archiviazione cloud.
| Option | Description |
|---|---|
sfuser |
Nome utente Snowflake. |
sfpassword |
Password snowflake. Usato quando sfauthenticator è snowflake. |
sfToken |
Token di accesso OAuth. Usato quando sfauthenticator è oauth. |
pem_private_key |
Chiave privata in formato PEM per l'autenticazione con coppia di chiavi. Usato quando sfauthenticator è snowflake_jwt. |
temporary_aws_access_key_id |
ID chiave di accesso DI AWS temporaneo per la gestione temporanea di S3. Preferibile rispetto awsaccesskey all'uso di credenziali di breve durata. |
temporary_aws_secret_access_key |
Chiave di accesso temporanea del segreto AWS per la gestione temporanea di S3. |
temporary_aws_session_token |
Token di sessione AWS temporaneo per la gestione temporanea di S3. |
temporary_azure_sas_token |
Token di firma di accesso condiviso temporaneo Azure per la gestione temporanea Archiviazione BLOB di Azure. |
awsaccesskey |
Chiave di accesso AWS per la gestione temporanea di S3. |
awssecretkey |
Chiave privata AWS per la gestione temporanea di S3. |
Obiettivo
Le opzioni seguenti specificano il database Snowflake, lo schema, il warehouse e la tabella in cui scrivere.
| Option | Description |
|---|---|
sfdatabase |
Nome del database Snowflake. |
sfschema |
Nome dello schema Snowflake. |
sfwarehouse |
Warehouse virtuale Snowflake usato per l'esecuzione di query. |
sfrole |
Ruolo Snowflake per la sessione. |
dbtable |
Nome tabella di destinazione. |
comportamento di scrittura
Le opzioni seguenti controllano la modalità di scrittura dei dati nella tabella Snowflake di destinazione.
| Option | Description |
|---|---|
column_mapping |
Modalità di corrispondenza delle colonne del dataframe con le colonne della tabella Snowflake: name (per nome di colonna) o position (in base all'ordine delle colonne). Impostazione predefinita: name. |
column_mismatch_behavior |
Comportamento quando le colonne dataframe e tabella non sono allineate: error o ignore. Impostazione predefinita: error. |
truncate_table |
Se true, tronca la tabella di destinazione prima di scrivere. Impostazione predefinita: false. |
usestagingtable |
Se true, inserisce i dati in una tabella temporanea prima di eseguire lo scambio nella destinazione, abilitando le scritture atomico. Impostazione predefinita: true. |
internal_execute_query_in_sync_mode |
Se true, esegue query Snowflake in modo sincrono. Impostazione predefinita: false. |
autopushdown |
Se true, esegue il push delle operazioni di filtro e aggregazione fino a Snowflake per l'esecuzione. Impostazione predefinita: true. |
Redshift
Le sezioni seguenti elencano le opzioni supportate per il connettore Redshift, organizzate per funzione.
Connessione
Le opzioni seguenti consentono di configurare la connessione al cluster Redshift.
| Option | Description |
|---|---|
host |
Nome host dell'endpoint del cluster Redshift. |
port |
Numero porta. Impostazione predefinita: 5439. |
database |
Nome del database Redshift. |
connectionTimeout |
Tempo massimo in secondi di attesa per una connessione. |
Authentication
Le opzioni seguenti configurano le credenziali per Redshift e per il percorso di gestione temporanea S3 usato da Redshift durante le operazioni di scrittura.
| Option | Description |
|---|---|
user |
Nome utente redshift. |
password |
Password di Redshift. |
aws_iam_role |
ARN del ruolo IAM usato da Redshift per accedere a S3 per i dati di gestione temporanea. |
temporary_aws_access_key_id |
ID chiave di accesso DI AWS temporaneo per la gestione temporanea di S3. Preferito rispetto alle credenziali di lunga durata. |
temporary_aws_secret_access_key |
Chiave di accesso temporanea del segreto AWS per la gestione temporanea di S3. |
temporary_aws_session_token |
Token di sessione AWS temporaneo per la gestione temporanea di S3. |
forward_spark_s3_credentials |
Se true, inoltra le credenziali di Spark S3 a Redshift per la gestione temporanea. Usare solo quando Spark e Redshift condividono le stesse credenziali S3. Impostazione predefinita: false. |
comportamento di scrittura
Le opzioni seguenti controllano la modalità di scrittura dei dati nella tabella Redshift di destinazione, tra cui distribuzione, chiavi di ordinamento e formato di staging.
| Option | Description |
|---|---|
dbtable |
Nome tabella di destinazione. Supporta i nomi qualificati per lo schema , ad esempio myschema.mytable. |
batchsize |
Numero di righe per inserimento batch. Impostazione predefinita: 1000. |
numPartitions |
Numero di partizioni Spark per operazioni di scrittura parallele. |
queryTimeout |
Tempo massimo in secondi di attesa del completamento di una query. |
isolationLevel |
Livello di isolamento delle transazioni: NONE, READ_COMMITTED, REPEATABLE_READREAD_UNCOMMITTED, o SERIALIZABLE. Impostazione predefinita: READ_UNCOMMITTED. |
diststyle |
Stile di distribuzione redshift: EVEN, KEYo ALL. |
distkey |
Colonna da usare come chiave di distribuzione. Obbligatorio quando diststyle è KEY. |
sortkeyspec |
Specifica della chiave di ordinamento per la tabella Redshift , ad esempio SORTKEY(col1, col2). |
csvnullstring |
Stringa scritta nei file CSV di staging per rappresentare NULL i valori. Valore predefinito: stringa vuota. |
tempformat |
Formato del file di gestione temporanea: CSV o AVRO. Impostazione predefinita: CSV. |
truncate |
Se true, tronca la tabella di destinazione in overwrite modalità anziché eliminarla e ricrearla. Impostazione predefinita: false. |
Scrivere in PostgreSQL in un ambiente di calcolo serverless
Questo esempio usa la append modalità e recupera le credenziali da un ambito segreto databricks.
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()
Passaggi successivi
- Origini dati Spark: istruzioni di installazione, esempi di codice e un confronto delle strategie di integrazione di Spark.
- Connessione JDBC: usare una connessione del catalogo Unity con un driver JDBC per le opzioni non supportate dai connettori in bundle in serverless o per le origini dati senza un connettore in bundle.
- Informazioni di riferimento sulle opzioni dell'API Spark: informazioni di riferimento per le opzioni DataFrameReader, DataFrameWriter e streaming per formati di file e origini di streaming.