Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous écrivez dans une source de données externe à l’aide d’un connecteur groupé sur le calcul serverless, seul un sous-ensemble d’options de connecteur est pris en charge. Les tableaux suivants répertorient les options prises en charge par connecteur.
Pour obtenir des instructions et des exemples d’installation, consultez les sources de données Spark.
PostgreSQL
Les options suivantes sont prises en charge lors de l’écriture dans PostgreSQL sur le calcul serverless.
| Option | Description |
|---|---|
host |
Nom d’hôte du serveur PostgreSQL. |
port |
Numéro de port. Valeur par défaut : 5432. |
database |
Nom de la base de données à laquelle se connecter. |
connectTimeout |
Durée maximale en secondes d’attente d’une connexion.
0 désactive le délai d’expiration. |
user |
Nom d’utilisateur de la base de données. |
password |
Mot de passe de base de données. |
dbtable |
Nom de la table cible. Prend en charge les noms qualifiés de schéma (par exemple). myschema.mytable |
batchsize |
Nombre de lignes à insérer par lot. Valeur par défaut : 1000. |
numPartitions |
Nombre de partitions Spark pour les opérations d’écriture parallèles. |
queryTimeout |
Durée maximale en secondes d’attente de la fin d’une requête.
0 désactive le délai d’expiration. |
isolationLevel |
Niveau d’isolation des transactions : NONE, , READ_COMMITTEDREAD_UNCOMMITTED, REPEATABLE_READ, ou SERIALIZABLE. Valeur par défaut : READ_UNCOMMITTED. |
truncate |
Si true, tronque la table cible en overwrite mode au lieu de la supprimer et de la recréer. Valeur par défaut : false. |
cascadeTruncate |
Si true, cascade la troncation vers des tables avec des références de clé étrangère à la table cible. Valeur par défaut : false. |
SQL Server
Les options suivantes sont prises en charge lors de l’écriture dans SQL Server sur le calcul serverless.
| Option | Description |
|---|---|
host |
Nom d’hôte de l’instance SQL Server. |
port |
Numéro de port. Valeur par défaut : 1433. |
database |
Nom de la base de données à laquelle se connecter. |
connectionTimeout |
Durée maximale en secondes d’attente d’une connexion.
0 désactive le délai d’expiration. |
encrypt |
Si true, chiffre toutes les données envoyées entre le client et le serveur à l’aide de TLS. Valeur par défaut : false. |
trustServerCertificate |
Si true, approuve le certificat TLS du serveur sans validation. Pour les environnements de développement uniquement. Valeur par défaut : false. |
debug |
Si true, active la journalisation détaillée du débogage pour le connecteur. Valeur par défaut : false. |
user |
Nom d’utilisateur de la base de données. |
password |
Mot de passe de base de données. |
authentication |
Type d’authentification. Valeurs prises en charge : SqlPassword, ActiveDirectoryPassword, ActiveDirectoryMSI. |
dbtable |
Nom de la table cible. Prend en charge les noms qualifiés de schéma (par exemple). myschema.mytable |
batchsize |
Nombre de lignes à insérer par lot. Valeur par défaut : 1000. |
numPartitions |
Nombre de partitions Spark pour les opérations d’écriture parallèles. |
queryTimeout |
Durée maximale en secondes d’attente de la fin d’une requête.
0 désactive le délai d’expiration. |
isolationLevel |
Niveau d’isolation des transactions : NONE, , READ_COMMITTEDREAD_UNCOMMITTED, REPEATABLE_READ, ou SERIALIZABLE. Valeur par défaut : READ_UNCOMMITTED. |
truncate |
Si true, tronque la table cible en overwrite mode au lieu de la supprimer et de la recréer. Valeur par défaut : false. |
MySQL
Les options suivantes sont prises en charge lors de l’écriture dans MySQL sur le calcul serverless.
| Option | Description |
|---|---|
host |
Nom d’hôte du serveur MySQL. |
port |
Numéro de port. Valeur par défaut : 3306. |
database |
Nom de la base de données à laquelle se connecter. |
connectionTimeout |
Durée maximale en secondes d’attente d’une connexion.
0 désactive le délai d’expiration. |
requireSSL |
Si true, nécessite une connexion chiffrée PAR SSL au serveur. Valeur par défaut : false. |
useSSL |
Si true, active SSL pour la connexion lorsqu’elle est prise en charge par le serveur. Valeur par défaut : false. |
user |
Nom d’utilisateur de la base de données. |
password |
Mot de passe de base de données. |
dbtable |
Nom de la table cible. Prend en charge les noms qualifiés de schéma (par exemple). myschema.mytable |
batchsize |
Nombre de lignes à insérer par lot. Valeur par défaut : 1000. |
numPartitions |
Nombre de partitions Spark pour les opérations d’écriture parallèles. |
queryTimeout |
Durée maximale en secondes d’attente de la fin d’une requête.
0 désactive le délai d’expiration. |
isolationLevel |
Niveau d’isolation des transactions : NONE, , READ_COMMITTEDREAD_UNCOMMITTED, REPEATABLE_READ, ou SERIALIZABLE. Valeur par défaut : READ_UNCOMMITTED. |
truncate |
Si true, tronque la table cible en overwrite mode au lieu de la supprimer et de la recréer. Valeur par défaut : false. |
cascadeTruncate |
Si true, cascade la troncation vers des tables avec des références de clé étrangère à la table cible. Valeur par défaut : false. |
Flocon de neige
Les sections suivantes répertorient les options prises en charge pour le connecteur Snowflake, organisées par fonction.
Connexion
Les options suivantes configurent la connexion à Snowflake et contrôlent le comportement de session.
| Option | Description |
|---|---|
host |
Nom d’hôte du compte Snowflake (par exemple, <account>.snowflakecomputing.com). |
port |
Numéro de port. Valeur par défaut : 443. |
sfaccount |
Identificateur de compte Snowflake. |
sfauthenticator |
Méthode d’authentification : snowflake (mot de passe), oauth (jeton) ou snowflake_jwt (paire de clés). Valeur par défaut : snowflake. |
networktimeout |
Délai d’expiration en secondes pour les opérations réseau. |
sftimezone |
Fuseau horaire pour les opérations d’horodatage (par exemple, America/New_York). |
client_session_keep_alive |
Si true, envoie des signaux keepalive pour empêcher le délai d’expiration de session pendant les opérations de longue durée. Valeur par défaut : false. |
ocspfailopen |
Si true, autorise les connexions à continuer lorsque la validation du certificat OCSP n’est pas disponible (mode d’ouverture automatique). Valeur par défaut : true. |
Authentication
Les options suivantes fournissent des informations d’identification pour la méthode d’authentification configurée dans sfauthenticator. Les informations d’identification intermédiaires (temporary_aws_*, awsaccesskey, temporary_azure_sas_token) sont requises lorsque Snowflake étape l’écriture de données via le stockage cloud.
| Option | Description |
|---|---|
sfuser |
Nom d’utilisateur Snowflake. |
sfpassword |
Mot de passe Snowflake. Utilisé quand sfauthenticator est snowflake. |
sfToken |
Jeton d’accès OAuth. Utilisé quand sfauthenticator est oauth. |
pem_private_key |
Clé privée au format PEM pour l’authentification par paire de clés. Utilisé quand sfauthenticator est snowflake_jwt. |
temporary_aws_access_key_id |
ID de clé d’accès AWS temporaire pour la préproduction S3. Préféré awsaccesskey lors de l’utilisation d’informations d’identification de courte durée. |
temporary_aws_secret_access_key |
Clé d’accès de secret AWS temporaire pour la préproduction S3. |
temporary_aws_session_token |
Jeton de session AWS temporaire pour la préproduction S3. |
temporary_azure_sas_token |
Jeton SAS de Azure temporaire pour Stockage Blob Azure préproduction. |
awsaccesskey |
Clé d’accès AWS pour la préproduction S3. |
awssecretkey |
Clé secrète AWS pour la préproduction S3. |
Cible
Les options suivantes spécifient la base de données Snowflake, le schéma, l’entrepôt et la table dans laquelle écrire.
| Option | Description |
|---|---|
sfdatabase |
Nom de la base de données Snowflake. |
sfschema |
Nom du schéma Snowflake. |
sfwarehouse |
Entrepôt virtuel Snowflake utilisé pour l’exécution des requêtes. |
sfrole |
Rôle Snowflake pour la session. |
dbtable |
Nom de la table cible. |
Comportement d’écriture
Les options suivantes contrôlent la façon dont les données sont écrites dans la table Snowflake cible.
| Option | Description |
|---|---|
column_mapping |
Correspondance des colonnes DataFrame aux colonnes de la table Snowflake : name (par nom de colonne) ou position (par ordre de colonne). Valeur par défaut : name. |
column_mismatch_behavior |
Comportement lorsque les colonnes dataFrame et table ne s’alignent pas : error ou ignore. Valeur par défaut : error. |
truncate_table |
Si true, tronque la table cible avant d’écrire. Valeur par défaut : false. |
usestagingtable |
Si true, met en scène les données d’une table temporaire avant de permuter dans la cible, en activant les écritures atomiques. Valeur par défaut : true. |
internal_execute_query_in_sync_mode |
Si true, exécute des requêtes Snowflake de manière synchrone. Valeur par défaut : false. |
autopushdown |
Si true, envoie (push) les opérations de filtre et d’agrégation jusqu’à Snowflake pour l’exécution. Valeur par défaut : true. |
Redshift
Les sections suivantes répertorient les options prises en charge pour le connecteur Redshift, organisées par fonction.
Connexion
Les options suivantes configurent la connexion au cluster Redshift.
| Option | Description |
|---|---|
host |
Nom d’hôte du point de terminaison de cluster Redshift. |
port |
Numéro de port. Valeur par défaut : 5439. |
database |
Nom de la base de données Redshift. |
connectionTimeout |
Durée maximale en secondes d’attente d’une connexion. |
Authentication
Les options suivantes configurent les informations d’identification pour Redshift et pour l’emplacement intermédiaire S3 que Redshift utilise pendant les opérations d’écriture.
| Option | Description |
|---|---|
user |
Nom d’utilisateur Redshift. |
password |
Mot de passe Redshift. |
aws_iam_role |
ARN du rôle IAM que Redshift utilise pour accéder à S3 pour les données intermédiaires. |
temporary_aws_access_key_id |
ID de clé d’accès AWS temporaire pour la préproduction S3. Préféré aux informations d’identification de longue durée. |
temporary_aws_secret_access_key |
Clé d’accès de secret AWS temporaire pour la préproduction S3. |
temporary_aws_session_token |
Jeton de session AWS temporaire pour la préproduction S3. |
forward_spark_s3_credentials |
Si true, transfère les informations d’identification S3 de Spark à Redshift pour la mise en lots. Utilisez uniquement lorsque Spark et Redshift partagent les mêmes informations d’identification S3. Valeur par défaut : false. |
Comportement d’écriture
Les options suivantes contrôlent la façon dont les données sont écrites dans la table Redshift cible, notamment la distribution, les clés de tri et le format intermédiaire.
| Option | Description |
|---|---|
dbtable |
Nom de la table cible. Prend en charge les noms qualifiés de schéma (par exemple). myschema.mytable |
batchsize |
Nombre de lignes par insertion par lot. Valeur par défaut : 1000. |
numPartitions |
Nombre de partitions Spark pour les opérations d’écriture parallèles. |
queryTimeout |
Durée maximale en secondes d’attente de la fin d’une requête. |
isolationLevel |
Niveau d’isolation des transactions : NONE, , READ_COMMITTEDREAD_UNCOMMITTED, REPEATABLE_READ, ou SERIALIZABLE. Valeur par défaut : READ_UNCOMMITTED. |
diststyle |
Style de distribution Redshift : EVEN, KEYou ALL. |
distkey |
Colonne à utiliser comme clé de distribution. Obligatoire quand diststyle est KEY. |
sortkeyspec |
Spécification de clé de tri pour la table Redshift (par exemple, SORTKEY(col1, col2)). |
csvnullstring |
Chaîne écrite dans des fichiers CSV intermédiaires pour représenter des NULL valeurs. Valeur par défaut : chaîne vide. |
tempformat |
Format de fichier intermédiaire : CSV ou AVRO. Valeur par défaut : CSV. |
truncate |
Si true, tronque la table cible en overwrite mode au lieu de la supprimer et de la recréer. Valeur par défaut : false. |
Écrire dans PostgreSQL sur le calcul serverless
Cet exemple utilise append le mode et récupère les informations d’identification d’une étendue de secret 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()
Étapes suivantes
- Sources de données Spark : instructions d’installation, exemples de code et comparaison des stratégies d’intégration Spark.
- Connexion JDBC : utilisez une connexion de catalogue Unity avec un pilote JDBC pour les options non prises en charge par les connecteurs groupés sur serverless ou pour les sources de données sans connecteur groupé.
- Informations de référence sur les options d’API Spark : référence pour DataFrameReader, DataFrameWriter et options de diffusion en continu pour les formats de fichiers et les sources de diffusion en continu.