Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Ao escrever para uma fonte de dados externa usando um conector agrupado em computação serverless, apenas um subconjunto de opções de conectores é suportado. As tabelas seguintes listam as opções suportadas por conector.
Para instruções de configuração e exemplos, consulte fontes de dados Spark.
PostgreSQL
As seguintes opções são suportadas ao escrever para PostgreSQL em computação serverless.
| Option | Description |
|---|---|
host |
Nome de host do servidor PostgreSQL. |
port |
Número da porta. Padrão: 5432. |
database |
Nome da base de dados a que se deve ligar. |
connectTimeout |
Tempo máximo em segundos para esperar por uma ligação.
0 desativa o timeout. |
user |
Nome de utilizador da base de dados. |
password |
Palavra-passe da base de dados. |
dbtable |
Nome da tabela de alvo. Suporta nomes qualificados pelo esquema (por exemplo, myschema.mytable). |
batchsize |
Número de linhas a inserir por lote. Padrão: 1000. |
numPartitions |
Número de partições Spark para operações de escrita paralelas. |
queryTimeout |
Tempo máximo em segundos para esperar que uma consulta seja concluída.
0 desativa o timeout. |
isolationLevel |
Nível de isolamento de transações: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, ou SERIALIZABLE. Padrão: READ_UNCOMMITTED. |
truncate |
Se true, trunca a tabela alvo em overwrite modo em vez de a eliminar e recriar. Padrão: false. |
cascadeTruncate |
Se true, cascata a truncação para tabelas com referências de chave estrangeira à tabela alvo. Padrão: false. |
SQL Server
As seguintes opções são suportadas ao escrever para SQL Server em computação serverless.
| Option | Description |
|---|---|
host |
Nome de host da instância do SQL Server. |
port |
Número da porta. Padrão: 1433. |
database |
Nome da base de dados a que se deve ligar. |
connectionTimeout |
Tempo máximo em segundos para esperar por uma ligação.
0 desativa o timeout. |
encrypt |
Se true, encripta todos os dados enviados entre o cliente e o servidor usando TLS. Padrão: false. |
trustServerCertificate |
Se true, confia no certificado TLS do servidor sem validação. Apenas para ambientes de desenvolvimento. Padrão: false. |
debug |
Se true, permite o registo de depuração verboso para o conector. Padrão: false. |
user |
Nome de utilizador da base de dados. |
password |
Palavra-passe da base de dados. |
authentication |
Tipo de autenticação. Valores suportados: SqlPassword, ActiveDirectoryPassword, ActiveDirectoryMSI. |
dbtable |
Nome da tabela de alvo. Suporta nomes qualificados pelo esquema (por exemplo, myschema.mytable). |
batchsize |
Número de linhas a inserir por lote. Padrão: 1000. |
numPartitions |
Número de partições Spark para operações de escrita paralelas. |
queryTimeout |
Tempo máximo em segundos para esperar que uma consulta seja concluída.
0 desativa o timeout. |
isolationLevel |
Nível de isolamento de transações: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, ou SERIALIZABLE. Padrão: READ_UNCOMMITTED. |
truncate |
Se true, trunca a tabela alvo em overwrite modo em vez de a eliminar e recriar. Padrão: false. |
MySQL
As seguintes opções são suportadas ao escrever para MySQL em computação serverless.
| Option | Description |
|---|---|
host |
Nome de host do servidor MySQL. |
port |
Número da porta. Padrão: 3306. |
database |
Nome da base de dados a que se deve ligar. |
connectionTimeout |
Tempo máximo em segundos para esperar por uma ligação.
0 desativa o timeout. |
requireSSL |
Se true, requer uma ligação encriptada por SSL ao servidor. Padrão: false. |
useSSL |
Se true, ativa SSL para a ligação quando suportado pelo servidor. Padrão: false. |
user |
Nome de utilizador da base de dados. |
password |
Palavra-passe da base de dados. |
dbtable |
Nome da tabela de alvo. Suporta nomes qualificados pelo esquema (por exemplo, myschema.mytable). |
batchsize |
Número de linhas a inserir por lote. Padrão: 1000. |
numPartitions |
Número de partições Spark para operações de escrita paralelas. |
queryTimeout |
Tempo máximo em segundos para esperar que uma consulta seja concluída.
0 desativa o timeout. |
isolationLevel |
Nível de isolamento de transações: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, ou SERIALIZABLE. Padrão: READ_UNCOMMITTED. |
truncate |
Se true, trunca a tabela alvo em overwrite modo em vez de a eliminar e recriar. Padrão: false. |
cascadeTruncate |
Se true, cascata a truncação para tabelas com referências de chave estrangeira à tabela alvo. Padrão: false. |
Snowflake
As secções seguintes listam as opções suportadas para o conector Snowflake, organizadas por função.
Conexão
As opções seguintes configuram a ligação ao Snowflake e o comportamento da sessão de controlo.
| Option | Description |
|---|---|
host |
Nome de host da conta Snowflake (por exemplo, <account>.snowflakecomputing.com). |
port |
Número da porta. Padrão: 443. |
sfaccount |
Identificador de conta Snowflake. |
sfauthenticator |
Método de autenticação: snowflake (palavra-passe), oauth (token) ou snowflake_jwt (par de chaves). Padrão: snowflake. |
networktimeout |
Tempo limite em segundos para operações de rede. |
sftimezone |
Fuso temporal para operações de carimbo temporal (por exemplo, America/New_York). |
client_session_keep_alive |
Se true, envia sinais de keepalive para evitar o timeout da sessão durante operações de longa duração. Padrão: false. |
ocspfailopen |
Se true, permite que as ligações prossigam quando a validação do certificado OCSP não está disponível (modo fail-open). Padrão: true. |
Authentication
As seguintes opções fornecem credenciais para o método de autenticação configurado em sfauthenticator. As credenciais de staging (temporary_aws_*, awsaccesskey, temporary_azure_sas_token) são necessárias quando os estágios Snowflake escrevem dados através de armazenamento na cloud.
| Option | Description |
|---|---|
sfuser |
Nome de utilizador floco de neve. |
sfpassword |
Palavra-passe do floco de neve. Usado quando sfauthenticator é snowflake. |
sfToken |
Token de acesso OAuth. Usado quando sfauthenticator é oauth. |
pem_private_key |
Chave privada em formato PEM para autenticação por pares de chaves. Usado quando sfauthenticator é snowflake_jwt. |
temporary_aws_access_key_id |
ID temporário da chave de acesso AWS para o staging S3. Preferido ao awsaccesskey usar credenciais de curta duração. |
temporary_aws_secret_access_key |
Chave de acesso secreto temporária AWS para o staging S3. |
temporary_aws_session_token |
Token de sessão AWS temporário para staging S3. |
temporary_azure_sas_token |
Temporary Azure SAS token for Armazenamento de Blobs do Azure staging. |
awsaccesskey |
Chave de acesso AWS para staging S3. |
awssecretkey |
Chave secreta AWS para staging S3. |
Target
As seguintes opções especificam a base de dados Snowflake, o esquema, o armazém e a tabela para escrever.
| Option | Description |
|---|---|
sfdatabase |
Nome da base de dados Snowflake. |
sfschema |
Nome do esquema floco de neve. |
sfwarehouse |
Armazém virtual Snowflake usado para execução de consultas. |
sfrole |
Papel de floco de neve para a sessão. |
dbtable |
Nome da tabela de alvo. |
Comportamento de escrita
As seguintes opções controlam como os dados são escritos na tabela Snowflake de destino.
| Option | Description |
|---|---|
column_mapping |
Como as colunas DataFrame são associadas às colunas da tabela Snowflake: name (pelo nome da coluna) ou position (pela ordem das colunas). Padrão: name. |
column_mismatch_behavior |
Comportamento quando as colunas DataFrame e tabela não se alinham: error ou ignore. Padrão: error. |
truncate_table |
Se true, trunca a tabela alvo antes de escrever. Padrão: false. |
usestagingtable |
Se true, etapas de dados numa tabela temporária antes de serem trocados para o alvo, permitindo escritas atómicas. Padrão: true. |
internal_execute_query_in_sync_mode |
Se true, executa consultas Snowflake de forma síncrona. Padrão: false. |
autopushdown |
Se true, desloca as operações de filtro e agregação para o Snowflake para execução. Padrão: true. |
Redshift
As secções seguintes listam as opções suportadas para o conector Redshift, organizadas por função.
Conexão
As opções seguintes configuram a ligação ao cluster Redshift.
| Option | Description |
|---|---|
host |
Nome host do endpoint do cluster Redshift. |
port |
Número da porta. Padrão: 5439. |
database |
Nome da base de dados Redshift. |
connectionTimeout |
Tempo máximo em segundos para esperar por uma ligação. |
Authentication
As opções seguintes configuram credenciais para o Redshift e para o local de staging S3 que o Redshift utiliza durante as operações de escrita.
| Option | Description |
|---|---|
user |
Nome de utilizador Redshift. |
password |
Palavra-passe Redshift. |
aws_iam_role |
ARN do papel IAM que o Redshift usa para aceder ao S3 para dados de staging. |
temporary_aws_access_key_id |
ID temporário da chave de acesso AWS para o staging S3. Preferido a credenciais duradouras. |
temporary_aws_secret_access_key |
Chave de acesso secreto temporária AWS para o staging S3. |
temporary_aws_session_token |
Token de sessão AWS temporário para staging S3. |
forward_spark_s3_credentials |
Se true, encaminha as credenciais S3 do Spark para Redshift para o staging. Use apenas quando o Spark e o Redshift partilham as mesmas credenciais S3. Padrão: false. |
Comportamento de escrita
As opções seguintes controlam como os dados são escritos na tabela Redshift alvo, incluindo distribuição, chaves de ordenação e formato de staging.
| Option | Description |
|---|---|
dbtable |
Nome da tabela de alvo. Suporta nomes qualificados pelo esquema (por exemplo, myschema.mytable). |
batchsize |
Número de filas por inserção de lote. Padrão: 1000. |
numPartitions |
Número de partições Spark para operações de escrita paralelas. |
queryTimeout |
Tempo máximo em segundos para esperar que uma consulta seja concluída. |
isolationLevel |
Nível de isolamento de transações: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, ou SERIALIZABLE. Padrão: READ_UNCOMMITTED. |
diststyle |
Estilo de distribuição para o Redshift: EVEN, KEY, ou ALL. |
distkey |
Coluna para usar como chave de distribuição. Obrigatório quando diststyle é KEY. |
sortkeyspec |
Especificação da chave de ordenação para a tabela de Redshift (por exemplo, SORTKEY(col1, col2)). |
csvnullstring |
String escrita em ficheiros CSV de staging para representar NULL valores. Padrão: cadeia vazia. |
tempformat |
Formato de ficheiro de staging: CSV ou AVRO. Padrão: CSV. |
truncate |
Se true, trunca a tabela alvo em overwrite modo em vez de a eliminar e recriar. Padrão: false. |
Escrever para PostgreSQL em computação serverless
Este exemplo utiliza append o modo e recupera credenciais de um escopo secreto do 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()
Passos seguintes
- Fontes de dados do Spark: instruções de configuração, exemplos de código e uma comparação das estratégias de integração do Spark.
- Ligação JDBC: Use uma ligação Unity Catalog com um driver JDBC para opções não suportadas por conectores agrupados em serverless, ou para fontes de dados sem conector incluído.
- Referência de opções da API do Spark: Referência para DataFrameReader, DataFrameWriter e opções de streaming para formatos de ficheiro e fontes de streaming.