Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ao gravar em uma fonte de dados externa usando um conector agrupado na computação sem servidor, há suporte apenas para um subconjunto de opções de conector. As tabelas a seguir listam as opções com suporte por conector.
Para obter instruções de instalação e exemplos, consulte as fontes de dados do Spark.
PostgreSQL
As opções a seguir têm suporte ao gravar no PostgreSQL na computação sem servidor.
| Opção | Descrição |
|---|---|
host |
Nome do host do servidor PostgreSQL. |
port |
Número da porta. Padrão: 5432. |
database |
Nome do banco de dados ao qual se conectar. |
connectTimeout |
Tempo máximo em segundos para aguardar uma conexão.
0 desabilita o tempo limite. |
user |
Nome de usuário do banco de dados. |
password |
Senha do banco de dados. |
dbtable |
Nome da tabela de destino. Dá suporte a nomes qualificados por esquema (por exemplo, myschema.mytable). |
batchsize |
Número de linhas a serem inseridas por lote. Padrão: 1000. |
numPartitions |
Número de partições do Spark para operações de gravação paralelas. |
queryTimeout |
Tempo máximo em segundos para aguardar a conclusão de uma consulta.
0 desabilita o tempo limite. |
isolationLevel |
Nível de isolamento da transação: NONE, , READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READou SERIALIZABLE. Padrão: READ_UNCOMMITTED. |
truncate |
Se true, truncará a tabela de destino no overwrite modo em vez de removê-la e recriá-la. Padrão: false. |
cascadeTruncate |
Se true, o truncamento será em cascata para tabelas com referências de chave estrangeira à tabela de destino. Padrão: false. |
SQL Server
Há suporte para as opções a seguir ao gravar em SQL Server na computação sem servidor.
| Opção | Descrição |
|---|---|
host |
Nome do host da instância de SQL Server. |
port |
Número da porta. Padrão: 1433. |
database |
Nome do banco de dados ao qual se conectar. |
connectionTimeout |
Tempo máximo em segundos para aguardar uma conexão.
0 desabilita o tempo limite. |
encrypt |
Se true, criptografa todos os dados enviados entre o cliente e o servidor usando TLS. Padrão: false. |
trustServerCertificate |
Se true, confiará no certificado TLS do servidor sem validação. Somente para ambientes de desenvolvimento. Padrão: false. |
debug |
Se true, habilita o log de depuração detalhado para o conector. Padrão: false. |
user |
Nome de usuário do banco de dados. |
password |
Senha do banco de dados. |
authentication |
Tipo de autenticação. Valores com suporte: SqlPassword, ActiveDirectoryPassword, ActiveDirectoryMSI. |
dbtable |
Nome da tabela de destino. Dá suporte a nomes qualificados por esquema (por exemplo, myschema.mytable). |
batchsize |
Número de linhas a serem inseridas por lote. Padrão: 1000. |
numPartitions |
Número de partições do Spark para operações de gravação paralelas. |
queryTimeout |
Tempo máximo em segundos para aguardar a conclusão de uma consulta.
0 desabilita o tempo limite. |
isolationLevel |
Nível de isolamento da transação: NONE, , READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READou SERIALIZABLE. Padrão: READ_UNCOMMITTED. |
truncate |
Se true, truncará a tabela de destino no overwrite modo em vez de removê-la e recriá-la. Padrão: false. |
MySQL
As opções a seguir têm suporte ao gravar no MySQL na computação sem servidor.
| Opção | Descrição |
|---|---|
host |
Nome do host do servidor MySQL. |
port |
Número da porta. Padrão: 3306. |
database |
Nome do banco de dados ao qual se conectar. |
connectionTimeout |
Tempo máximo em segundos para aguardar uma conexão.
0 desabilita o tempo limite. |
requireSSL |
Se true, requer uma conexão criptografada com SSL com o servidor. Padrão: false. |
useSSL |
Se true, habilita o SSL para a conexão quando compatível com o servidor. Padrão: false. |
user |
Nome de usuário do banco de dados. |
password |
Senha do banco de dados. |
dbtable |
Nome da tabela de destino. Dá suporte a nomes qualificados por esquema (por exemplo, myschema.mytable). |
batchsize |
Número de linhas a serem inseridas por lote. Padrão: 1000. |
numPartitions |
Número de partições do Spark para operações de gravação paralelas. |
queryTimeout |
Tempo máximo em segundos para aguardar a conclusão de uma consulta.
0 desabilita o tempo limite. |
isolationLevel |
Nível de isolamento da transação: NONE, , READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READou SERIALIZABLE. Padrão: READ_UNCOMMITTED. |
truncate |
Se true, truncará a tabela de destino no overwrite modo em vez de removê-la e recriá-la. Padrão: false. |
cascadeTruncate |
Se true, o truncamento será em cascata para tabelas com referências de chave estrangeira à tabela de destino. Padrão: false. |
Snowflake
As seções a seguir listam as opções com suporte para o conector Snowflake, organizado por função.
Conexão
As opções a seguir configuram a conexão com o Snowflake e o comportamento da sessão de controle.
| Opção | Descrição |
|---|---|
host |
Nome do 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 (senha), oauth (token) ou snowflake_jwt (par de chaves). Padrão: snowflake. |
networktimeout |
Tempo limite em segundos para operações de rede. |
sftimezone |
Fuso horário para operações de carimbo de data/hora (por exemplo, America/New_York). |
client_session_keep_alive |
Se true, envia sinais keepalive para evitar o tempo limite da sessão durante operações de execução prolongada. Padrão: false. |
ocspfailopen |
Se true, permite que as conexões prossigam quando a validação do certificado OCSP não estiver disponível (modo de fail-open). Padrão: true. |
Authentication
As opções a seguir fornecem credenciais para o método de autenticação configurado em sfauthenticator. As credenciais de preparo (temporary_aws_*, awsaccesskey, ) temporary_azure_sas_tokensão necessárias quando os estágios do Snowflake gravam dados por meio do armazenamento em nuvem.
| Opção | Descrição |
|---|---|
sfuser |
Nome de usuário snowflake. |
sfpassword |
Senha de floco de neve. Usado quando sfauthenticator é snowflake. |
sfToken |
Token de acesso OAuth. Usado quando sfauthenticator é oauth. |
pem_private_key |
Chave privada no formato PEM para autenticação de par de chaves. Usado quando sfauthenticator é snowflake_jwt. |
temporary_aws_access_key_id |
ID de chave de acesso temporária do AWS para preparo S3. Preferencialmente awsaccesskey ao usar credenciais de curta duração. |
temporary_aws_secret_access_key |
Chave de acesso secreta temporária do AWS para preparo S3. |
temporary_aws_session_token |
Token de sessão temporário do AWS para preparo S3. |
temporary_azure_sas_token |
Token SAS Azure temporário para preparo de Armazenamento de Blobs do Azure. |
awsaccesskey |
Chave de acesso AWS para preparo S3. |
awssecretkey |
Chave secreta do AWS para preparo S3. |
Target
As opções a seguir especificam o banco de dados snowflake, esquema, warehouse e tabela para gravar.
| Opção | Descrição |
|---|---|
sfdatabase |
Nome do banco de dados snowflake. |
sfschema |
Nome do esquema floco de neve. |
sfwarehouse |
Depósito virtual snowflake usado para execução de consulta. |
sfrole |
Função floco de neve para a sessão. |
dbtable |
Nome da tabela de destino. |
Comportamento de gravação
As opções a seguir controlam como os dados são gravados na tabela Snowflake de destino.
| Opção | Descrição |
|---|---|
column_mapping |
Como as colunas DataFrame são correspondidas às colunas da tabela Snowflake: name (por nome da coluna) ou position (por ordem de coluna). Padrão: name. |
column_mismatch_behavior |
Comportamento quando o DataFrame e as colunas de tabela não se alinham: error ou ignore. Padrão: error. |
truncate_table |
Se true, truncará a tabela de destino antes de escrever. Padrão: false. |
usestagingtable |
Se true, fases de dados em uma tabela temporária antes de trocar para o destino, habilitando gravações 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, envia por push as operações de filtragem e agregação para o Snowflake para execução. Padrão: true. |
Redshift
As seções a seguir listam as opções com suporte para o conector do Redshift, organizado por função.
Conexão
As opções a seguir configuram a conexão com o cluster redshift.
| Opção | Descrição |
|---|---|
host |
Nome do host do ponto de extremidade do cluster do Redshift. |
port |
Número da porta. Padrão: 5439. |
database |
Nome do banco de dados do Redshift. |
connectionTimeout |
Tempo máximo em segundos para aguardar uma conexão. |
Authentication
As opções a seguir configuram as credenciais para o Redshift e para o local de preparo S3 que o Redshift usa durante operações de gravação.
| Opção | Descrição |
|---|---|
user |
Nome de usuário do Redshift. |
password |
Senha do Redshift. |
aws_iam_role |
ARN da função IAM que o Redshift usa para acessar o S3 para dados de preparo. |
temporary_aws_access_key_id |
ID de chave de acesso temporária do AWS para preparo S3. Preferencial em relação às credenciais de longa duração. |
temporary_aws_secret_access_key |
Chave de acesso secreta temporária do AWS para preparo S3. |
temporary_aws_session_token |
Token de sessão temporário do AWS para preparo S3. |
forward_spark_s3_credentials |
Se true, encaminha as credenciais do Spark S3 para o Redshift para preparo. Use somente quando Spark e Redshift compartilharem as mesmas credenciais S3. Padrão: false. |
Comportamento de gravação
As opções a seguir controlam como os dados são gravados na tabela do Redshift de destino, incluindo distribuição, chaves de classificação e formato de preparo.
| Opção | Descrição |
|---|---|
dbtable |
Nome da tabela de destino. Dá suporte a nomes qualificados por esquema (por exemplo, myschema.mytable). |
batchsize |
Número de linhas por inserção em lote. Padrão: 1000. |
numPartitions |
Número de partições do Spark para operações de gravação paralelas. |
queryTimeout |
Tempo máximo em segundos para aguardar a conclusão de uma consulta. |
isolationLevel |
Nível de isolamento da transação: NONE, , READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READou SERIALIZABLE. Padrão: READ_UNCOMMITTED. |
diststyle |
Estilo de distribuição do Redshift: EVEN, KEYou ALL. |
distkey |
Coluna a ser usada como a chave de distribuição. Necessário quando diststyle é KEY. |
sortkeyspec |
Especificação de chave de classificação para a tabela redshift (por exemplo, SORTKEY(col1, col2)). |
csvnullstring |
Cadeia de caracteres escrita em arquivos CSV de preparo para representar NULL valores. Padrão: cadeia de caracteres vazia. |
tempformat |
Formato de arquivo de preparo: CSV ou AVRO. Padrão: CSV. |
truncate |
Se true, truncará a tabela de destino no overwrite modo em vez de removê-la e recriá-la. Padrão: false. |
Gravar no PostgreSQL na computação sem servidor
Este exemplo usa o append 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()
Próximas Etapas
- Fontes de dados do Spark: instruções de instalação, exemplos de código e uma comparação de estratégias de integração do Spark.
- Conexão JDBC: use uma conexão do Catálogo do Unity com um driver JDBC para opções sem suporte por conectores empacotados em fontes de dados sem servidor ou para fontes de dados sem um conector agrupado.
- Referência de opções de API do Spark: referência para DataFrameReader, DataFrameWriter e opções de streaming para formatos de arquivo e fontes de streaming.