Opções de gravação serverless para conectores agrupados
A gravação em fontes de dados externas usando conectores Spark integrados em compute sem servidor está em versão prévia pública.
Ao escrever para uma fonte de dados externa usando um conector empacotado em compute serverless, apenas um subconjunto de opções de conector é suportado. As tabelas a seguir listam as opções compatíveis por conector.
Para obter instruções e exemplos de configuração, consulte Fontes de dados do Spark.
PostgreSQL
As seguintes opções são suportadas ao gravar dados no PostgreSQL em compute serverless.
Opção | Descrição |
|---|---|
| Nome do hostname do servidor PostgreSQL. |
| Número de porta. default: |
| Nome da base de dados para conectar |
| Tempo máximo em segundos para aguardar uma conexão. |
| Nome de usuário do banco de dados. |
| Senha da base de dados. |
| Nome da tabela de destino. Suporta nomes qualificados por esquema (por exemplo, |
| Número de linhas a inserir por lote. default: |
| Número de partições do Spark para operações de gravação paralelas. |
| Tempo máximo em segundos para aguardar a conclusão de uma consulta. |
| Nível de isolamento de transação: |
| Se |
| Se |
SQL Server
As seguintes opções são suportadas ao gravar dados no SQL Server em compute serverless.
Opção | Descrição |
|---|---|
| Hostname da instância do SQL Server. |
| Número de porta. default: |
| Nome da base de dados para conectar |
| Tempo máximo em segundos para aguardar uma conexão. |
| Se |
| Se |
| Se |
| Nome de usuário do banco de dados. |
| Senha da base de dados. |
| Tipo de autenticação. Valores suportados: |
| Nome da tabela de destino. Suporta nomes qualificados por esquema (por exemplo, |
| Número de linhas a inserir por lote. default: |
| Número de partições do Spark para operações de gravação paralelas. |
| Tempo máximo em segundos para aguardar a conclusão de uma consulta. |
| Nível de isolamento de transação: |
| Se |
MySQL
As seguintes opções têm suporte ao gravar no MySQL em compute serverless.
Opção | Descrição |
|---|---|
| Hostname do servidor MySQL. |
| Número de porta. default: |
| Nome da base de dados para conectar |
| Tempo máximo em segundos para aguardar uma conexão. |
| Se |
| Se |
| Nome de usuário do banco de dados. |
| Senha da base de dados. |
| Nome da tabela de destino. Suporta nomes qualificados por esquema (por exemplo, |
| Número de linhas a inserir por lote. default: |
| Número de partições do Spark para operações de gravação paralelas. |
| Tempo máximo em segundos para aguardar a conclusão de uma consulta. |
| Nível de isolamento de transação: |
| Se |
| Se |
Snowflake
As seções a seguir listam as opções suportadas para o conector Snowflake, organizadas por função.
Conexão
As seguintes opções configuram a conexão com o Snowflake e controlam o comportamento da sessão.
Opção | Descrição |
|---|---|
| Snowflake account hostname (por exemplo, |
| Número de porta. default: |
| Identificador de account Snowflake. |
| Método de autenticação: |
| Tempo limite em segundos para operações de rede. |
| Fuso horário para operações de carimbo de data/hora (por exemplo, |
| Se |
| Se |
Autenticação
As opções a seguir fornecem credenciais para o método de autenticação configurado em sfauthenticator. Credenciais de staging (temporary_aws_*, awsaccesskey, temporary_azure_sas_token) são necessárias quando os estágios do Snowflake gravam dados por meio do armazenamento em nuvem.
Opção | Descrição |
|---|---|
| Nome de usuário do Snowflake. |
| Senha do Snowflake. Usado quando |
| Token de acesso OAuth. Usado quando |
| Chave privada no formato PEM para autenticação por par de chaves. Usado quando |
| ID da key de acesso temporária da AWS para o ambiente de preparação S3. Preferível a |
| Chave de acesso secreta temporária da AWS para o ambiente de preparação S3. |
| Token de sessão temporário da AWS para zoneamento S3. |
| Token temporário do Azure SAS para o ambiente de preparação do Azure Blob Storage. |
| Chave de acesso da AWS para o ambiente de preparação S3. |
| Chave secreta da AWS para o ambiente de preparação S3. |
Destino
As opções a seguir especificam o banco de dados Snowflake, o esquema, o warehouse e a tabela para gravação.
Opção | Descrição |
|---|---|
| Nome do banco de dados Snowflake. |
| Nome do esquema Snowflake. |
| Snowflake warehouse virtual utilizado para execução de query |
| Função Snowflake para a sessão. |
| Nome da tabela de destino. |
Comportamento de escrita
As seguintes opções controlam como os dados são gravados na tabela Snowflake de destino.
Opção | Descrição |
|---|---|
| Como as colunas do DataFrame são mapeadas para as colunas da tabela Snowflake: |
| Comportamento quando as colunas do DataFrame e da tabela não se alinham: |
| Se |
| Se |
| Se |
| Se |
Redshift
As seções a seguir listam as opções suportadas para o conector Redshift, organizadas por função.
Conexão
As seguintes opções configuram a conexão ao cluster do Redshift.
Opção | Descrição |
|---|---|
| Hostname de endpoint de cluster Redshift. |
| Número de porta. default: |
| Nome do banco de dados Redshift. |
| Tempo máximo em segundos para aguardar uma conexão. |
Autenticação
As seguintes opções configuram as credenciais para o Redshift e para o local de staging S3 que o Redshift usa durante as operações de escrita.
Opção | Descrição |
|---|---|
| Nome de usuário do Redshift. |
| Senha do Redshift. |
| ARN do IAM role que o Redshift usa para acessar o S3 para armazenamento temporário de dados. |
| ID da key de acesso temporária da AWS para o ambiente de preparação S3. Preferível a credenciais de longa duração. |
| Chave de acesso secreta temporária da AWS para o ambiente de preparação S3. |
| Token de sessão temporário da AWS para zoneamento S3. |
| Se |
Comportamento de escrita
As seguintes opções controlam como os dados são gravados na tabela do Redshift de destino, incluindo distribuição, chaves de classificação e formato de preparação.
Opção | Descrição |
|---|---|
| Nome da tabela de destino. Suporta nomes qualificados por esquema (por exemplo, |
| Número de linhas por inserção em lote. default: |
| Número de partições do Spark para operações de gravação paralelas. |
| Tempo máximo em segundos para aguardar a conclusão de uma consulta. |
| Nível de isolamento de transação: |
| Estilo de distribuição do Redshift: |
| Coluna a ser usada como chave de distribuição. É necessário quando |
| Especificação da chave de classificação para a tabela Redshift (por exemplo, |
| String escrita em arquivos CSV de preparação para representar valores de |
| Formato de arquivo de preparação: |
| Se |
Gravar em PostgreSQL no compute serverless
Este exemplo usa o modo append e recupera as credenciais de um Secret Scope 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
- Spark fonte de dados: instruções de configuraçã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 Unity Catalog com um driver JDBC para opções não suportadas por conectores integrados em ambientes serverless, ou para fontes de dados sem um conector integrado.
- Referência de opções da Spark API: Referência para o DataFrameReader, o DataFrameWriter e opções de transmissão para formatos de arquivo e fontes de transmissão.