Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Al escribir en un origen de datos externo mediante un conector agrupado en proceso sin servidor, solo se admite un subconjunto de opciones de conector. En las tablas siguientes se enumeran las opciones admitidas por conector.
Para obtener instrucciones y ejemplos de configuración, consulte Orígenes de datos de Spark.
PostgreSQL
Se admiten las siguientes opciones al escribir en PostgreSQL en proceso sin servidor.
| Option | Description |
|---|---|
host |
Nombre de host del servidor postgreSQL. |
port |
Número de puerto. Valor predeterminado: 5432. |
database |
Nombre de la base de datos a la que se va a conectar. |
connectTimeout |
Tiempo máximo en segundos para esperar una conexión.
0 deshabilita el tiempo de espera. |
user |
Nombre de usuario de la base de datos. |
password |
Contraseña de base de datos. |
dbtable |
Nombre de la tabla de destino. Admite nombres calificados de esquema (por ejemplo, myschema.mytable). |
batchsize |
Número de filas que se van a insertar por lote. Valor predeterminado: 1000. |
numPartitions |
Número de particiones de Spark para operaciones de escritura en paralelo. |
queryTimeout |
Tiempo máximo en segundos para esperar a que se complete una consulta.
0 deshabilita el tiempo de espera. |
isolationLevel |
Nivel de aislamiento de transacción: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READo SERIALIZABLE. Valor predeterminado: READ_UNCOMMITTED. |
truncate |
Si truees , trunca la tabla de destino en overwrite modo en lugar de quitarla y volver a crearla. Valor predeterminado: false. |
cascadeTruncate |
Si truees , aplica en cascada el truncamiento a las tablas con referencias de clave externa a la tabla de destino. Valor predeterminado: false. |
SQL Server
Se admiten las siguientes opciones al escribir en SQL Server en proceso sin servidor.
| Option | Description |
|---|---|
host |
Nombre de host de la instancia de SQL Server. |
port |
Número de puerto. Valor predeterminado: 1433. |
database |
Nombre de la base de datos a la que se va a conectar. |
connectionTimeout |
Tiempo máximo en segundos para esperar una conexión.
0 deshabilita el tiempo de espera. |
encrypt |
Si truees , cifra todos los datos enviados entre el cliente y el servidor mediante TLS. Valor predeterminado: false. |
trustServerCertificate |
Si truees , confía en el certificado TLS del servidor sin validación. Solo para entornos de desarrollo. Valor predeterminado: false. |
debug |
Si truees , habilita el registro de depuración detallado para el conector. Valor predeterminado: false. |
user |
Nombre de usuario de la base de datos. |
password |
Contraseña de base de datos. |
authentication |
Tipo de autenticación. Valores admitidos: SqlPassword, ActiveDirectoryPassword, ActiveDirectoryMSI. |
dbtable |
Nombre de la tabla de destino. Admite nombres calificados de esquema (por ejemplo, myschema.mytable). |
batchsize |
Número de filas que se van a insertar por lote. Valor predeterminado: 1000. |
numPartitions |
Número de particiones de Spark para operaciones de escritura en paralelo. |
queryTimeout |
Tiempo máximo en segundos para esperar a que se complete una consulta.
0 deshabilita el tiempo de espera. |
isolationLevel |
Nivel de aislamiento de transacción: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READo SERIALIZABLE. Valor predeterminado: READ_UNCOMMITTED. |
truncate |
Si truees , trunca la tabla de destino en overwrite modo en lugar de quitarla y volver a crearla. Valor predeterminado: false. |
MySQL
Se admiten las siguientes opciones al escribir en MySQL en proceso sin servidor.
| Option | Description |
|---|---|
host |
Nombre de host del servidor MySQL. |
port |
Número de puerto. Valor predeterminado: 3306. |
database |
Nombre de la base de datos a la que se va a conectar. |
connectionTimeout |
Tiempo máximo en segundos para esperar una conexión.
0 deshabilita el tiempo de espera. |
requireSSL |
Si truees , requiere una conexión cifrada con SSL al servidor. Valor predeterminado: false. |
useSSL |
Si truees , habilita SSL para la conexión cuando sea compatible con el servidor. Valor predeterminado: false. |
user |
Nombre de usuario de la base de datos. |
password |
Contraseña de base de datos. |
dbtable |
Nombre de la tabla de destino. Admite nombres calificados de esquema (por ejemplo, myschema.mytable). |
batchsize |
Número de filas que se van a insertar por lote. Valor predeterminado: 1000. |
numPartitions |
Número de particiones de Spark para operaciones de escritura en paralelo. |
queryTimeout |
Tiempo máximo en segundos para esperar a que se complete una consulta.
0 deshabilita el tiempo de espera. |
isolationLevel |
Nivel de aislamiento de transacción: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READo SERIALIZABLE. Valor predeterminado: READ_UNCOMMITTED. |
truncate |
Si truees , trunca la tabla de destino en overwrite modo en lugar de quitarla y volver a crearla. Valor predeterminado: false. |
cascadeTruncate |
Si truees , aplica en cascada el truncamiento a las tablas con referencias de clave externa a la tabla de destino. Valor predeterminado: false. |
Snowflake
En las secciones siguientes se enumeran las opciones admitidas para el conector Snowflake, organizado por función.
Conexión
Las siguientes opciones configuran la conexión con Snowflake y controlan el comportamiento de la sesión.
| Option | Description |
|---|---|
host |
Nombre de host de la cuenta de Snowflake (por ejemplo, <account>.snowflakecomputing.com). |
port |
Número de puerto. Valor predeterminado: 443. |
sfaccount |
Identificador de cuenta de Snowflake. |
sfauthenticator |
Método de autenticación: snowflake (contraseña), oauth (token) o snowflake_jwt (par de claves). Valor predeterminado: snowflake. |
networktimeout |
Tiempo de espera en segundos para las operaciones de red. |
sftimezone |
Zona horaria para las operaciones de marca de tiempo (por ejemplo, America/New_York). |
client_session_keep_alive |
Si truees , envía señales keepalive para evitar el tiempo de espera de la sesión durante las operaciones de ejecución prolongada. Valor predeterminado: false. |
ocspfailopen |
Si truees , permite que las conexiones continúen cuando la validación del certificado OCSP no esté disponible (modo de error abierto). Valor predeterminado: true. |
Autenticación
Las siguientes opciones proporcionan credenciales para el método de autenticación configurado en sfauthenticator. Las credenciales de almacenamiento provisional (temporary_aws_*, awsaccesskey, temporary_azure_sas_token) son necesarias cuando Snowflake realiza la escritura de datos a través del almacenamiento en la nube.
| Option | Description |
|---|---|
sfuser |
Nombre de usuario de Snowflake. |
sfpassword |
Contraseña de Snowflake. Se usa cuando sfauthenticator es snowflake. |
sfToken |
Token de acceso de OAuth. Se usa cuando sfauthenticator es oauth. |
pem_private_key |
Clave privada en formato PEM para la autenticación de par de claves. Se usa cuando sfauthenticator es snowflake_jwt. |
temporary_aws_access_key_id |
Identificador temporal de clave de acceso de AWS para el almacenamiento provisional de S3. Se prefiere a la hora awsaccesskey de usar credenciales de corta duración. |
temporary_aws_secret_access_key |
Clave de acceso secreta temporal de AWS para el almacenamiento provisional de S3. |
temporary_aws_session_token |
Token temporal de sesión de AWS para el almacenamiento provisional de S3. |
temporary_azure_sas_token |
Token de SAS Azure temporal para el almacenamiento provisional de Azure Blob Storage. |
awsaccesskey |
Clave de acceso de AWS para el almacenamiento provisional de S3. |
awssecretkey |
Clave secreta de AWS para el almacenamiento provisional de S3. |
Objetivo
Las siguientes opciones especifican la base de datos, el esquema, el almacenamiento y la tabla de Snowflake en las que escribir.
| Option | Description |
|---|---|
sfdatabase |
Nombre de la base de datos de Snowflake. |
sfschema |
Nombre del esquema de Snowflake. |
sfwarehouse |
Almacenamiento virtual de Snowflake usado para la ejecución de consultas. |
sfrole |
Rol snowflake para la sesión. |
dbtable |
Nombre de la tabla de destino. |
Comportamiento de escritura
Las siguientes opciones controlan cómo se escriben los datos en la tabla Snowflake de destino.
| Option | Description |
|---|---|
column_mapping |
Cómo coinciden las columnas DataFrame con las columnas de la tabla Snowflake: name (por nombre de columna) o position (por orden de columna). Valor predeterminado: name. |
column_mismatch_behavior |
Comportamiento cuando las columnas DataFrame y table no se alinean: error o ignore. Valor predeterminado: error. |
truncate_table |
Si truees , trunca la tabla de destino antes de escribir. Valor predeterminado: false. |
usestagingtable |
Si truees , almacena provisionalmente los datos en una tabla temporal antes de intercambiarlos en el destino, lo que permite escrituras atómicas. Valor predeterminado: true. |
internal_execute_query_in_sync_mode |
Si truees , ejecuta consultas de Snowflake de forma sincrónica. Valor predeterminado: false. |
autopushdown |
Si truees , inserta las operaciones de filtrado y agregación en Snowflake para su ejecución. Valor predeterminado: true. |
Redshift
En las secciones siguientes se enumeran las opciones admitidas para el conector de Redshift, organizados por función.
Conexión
Las siguientes opciones configuran la conexión al clúster de Redshift.
| Option | Description |
|---|---|
host |
Nombre de host del punto de conexión del clúster de Redshift. |
port |
Número de puerto. Valor predeterminado: 5439. |
database |
Nombre de la base de datos de Redshift. |
connectionTimeout |
Tiempo máximo en segundos para esperar una conexión. |
Autenticación
Las siguientes opciones configuran las credenciales para Redshift y para la ubicación de almacenamiento provisional de S3 que Redshift usa durante las operaciones de escritura.
| Option | Description |
|---|---|
user |
Nombre de usuario de Redshift. |
password |
Contraseña de Redshift. |
aws_iam_role |
ARN del rol de IAM que Redshift usa para acceder a S3 para los datos de almacenamiento provisional. |
temporary_aws_access_key_id |
Identificador temporal de clave de acceso de AWS para el almacenamiento provisional de S3. Se prefieren las credenciales de larga duración. |
temporary_aws_secret_access_key |
Clave de acceso secreta temporal de AWS para el almacenamiento provisional de S3. |
temporary_aws_session_token |
Token temporal de sesión de AWS para el almacenamiento provisional de S3. |
forward_spark_s3_credentials |
Si truees , reenvía las credenciales de Spark S3 a Redshift para el almacenamiento provisional. Use solo cuando Spark y Redshift compartan las mismas credenciales de S3. Valor predeterminado: false. |
Comportamiento de escritura
Las siguientes opciones controlan cómo se escriben los datos en la tabla redshift de destino, incluida la distribución, las claves de ordenación y el formato de almacenamiento provisional.
| Option | Description |
|---|---|
dbtable |
Nombre de la tabla de destino. Admite nombres calificados de esquema (por ejemplo, myschema.mytable). |
batchsize |
Número de filas por inserción por lote. Valor predeterminado: 1000. |
numPartitions |
Número de particiones de Spark para operaciones de escritura en paralelo. |
queryTimeout |
Tiempo máximo en segundos para esperar a que se complete una consulta. |
isolationLevel |
Nivel de aislamiento de transacción: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READo SERIALIZABLE. Valor predeterminado: READ_UNCOMMITTED. |
diststyle |
Estilo de distribución de Redshift: EVEN, KEYo ALL. |
distkey |
Columna que se va a usar como clave de distribución. Obligatorio cuando diststyle es KEY. |
sortkeyspec |
Ordene la especificación de clave para la tabla Redshift (por ejemplo, SORTKEY(col1, col2)). |
csvnullstring |
Cadena escrita en archivos CSV de almacenamiento provisional para representar NULL valores. Valor predeterminado: cadena vacía. |
tempformat |
Formato de archivo de almacenamiento provisional: CSV o AVRO. Valor predeterminado: CSV. |
truncate |
Si truees , trunca la tabla de destino en overwrite modo en lugar de quitarla y volver a crearla. Valor predeterminado: false. |
Escritura en PostgreSQL en proceso sin servidor
En este ejemplo se usa append el modo y se recuperan las credenciales de un ámbito de secreto de 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()
Pasos siguientes
- Orígenes de datos de Spark: instrucciones de configuración, ejemplos de código y una comparación de las estrategias de integración de Spark.
- Conexión JDBC: use una conexión de Catálogo de Unity con un controlador JDBC para las opciones no admitidas por conectores agrupados en sin servidor o para orígenes de datos sin un conector agrupado.
- Referencia de opciones de api de Spark: referencia para DataFrameReader, DataFrameWriter y opciones de streaming para formatos de archivo y orígenes de streaming.