Databricks
Executar consultas SQL e administrar trabalhos no Databricks.
O que faz
Conecte-se ao Databricks para executar consultas SQL em SQL warehouses, disparar e acompanhar execuções de jobs, gerenciar clusters e obter os resultados das execuções. Faça perguntas em linguagem natural aos espaços Genie (agentes Genie) e receba respostas, o SQL gerado, as linhas do resultado e gráficos, continuando a conversa nas perguntas seguintes, ou use o modo agente do Genie para relatórios de pesquisa em várias etapas. Exige um token de acesso pessoal (Personal Access Token) e a URL do….
Quando usar: Use quando o seu fluxo precisar executar consultas SQL e administrar trabalhos no Databricks.
Exemplo de situação: Localizar um cadastro e aproveitar seus dados nas etapas seguintes.
Antes de começar
Conexão necessária: Credencial protegida.
Escolha uma conexão ou credencial já cadastrada no workspace. Nunca cole senhas ou chaves em campos de texto comuns.
Passo a passo
- Adicione Databricks ao desenho a partir da aba Blocos e ligue a entrada dele à etapa anterior.
- Escolha uma conexão ou credencial já cadastrada no workspace. Nunca cole senhas ou chaves em campos de texto comuns.
- Escolha a operação. O painel mostra só os campos que essa operação usa.
- Preencha os campos obrigatórios. Para usar um dado de uma etapa anterior, digite < e escolha o bloco e o campo.
- Clique em Executar com dados de teste e confira, no terminal, o que entrou e o que saiu do bloco.
- Só publique depois de conferir o resultado da execução de teste.
Operações
| Operação | O que faz |
|---|---|
| Executar SQL | Executa SQL com o bloco Databricks. |
| Obter instrução SQL | Obtém instrução SQL com o bloco Databricks. |
| Listar SQL warehouses | Lista SQL warehouses com o bloco Databricks. |
| Listar jobs | Lista jobs com o bloco Databricks. |
| Obter job | Obtém job com o bloco Databricks. |
| Executar job | Executa job com o bloco Databricks. |
| Obter execução | Obtém execução com o bloco Databricks. |
| Listar execuções | Lista execuções com o bloco Databricks. |
| Cancelar execução | Cancela execução com o bloco Databricks. |
| Obter resultado da execução | Obtém resultado da execução com o bloco Databricks. |
| Listar clusters | Lista clusters com o bloco Databricks. |
| Obter cluster | Obtém cluster com o bloco Databricks. |
Campos
Operação
Escolhe qual ação este bloco executará.
- Opções:
- Executar SQL · Obter instrução SQL · Listar SQL warehouses · Listar jobs · Obter job · Executar job · Obter execução · Listar execuções · Cancelar execução · Obter resultado da execução · Listar clusters · Obter cluster
- Padrão:
- Executar SQL
ID do SQL warehouse
Obrigatório conforme a operaçãoInforme o ID do SQL warehouse.
- Aparece em:
- Executar SQL
- Exemplo:
- id-do-recurso
Comando SQL
Obrigatório conforme a operaçãoSELECT * FROM my_table LIMIT 10.
- Aparece em:
- Executar SQL
- Exemplo:
- { "chave": "valor" }
Catálogo
Em campos adicionaisNome do catálogo no Unity Catalog.
- Aparece em:
- Executar SQL
- Exemplo:
- Nome do catálogo no Unity Catalog
Esquema
Em campos adicionaisNome do esquema.
- Aparece em:
- Executar SQL
- Exemplo:
- Nome do esquema
Limite de linhas
Em campos adicionaisDefine um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Executar SQL
- Exemplo:
- 10
Tempo limite de espera
Em campos adicionaisDefine a data, o horário ou a programação usada pela operação.
- Aparece em:
- Executar SQL
- Exemplo:
- 30000
ID da instrução
Obrigatório conforme a operaçãoInforme o ID da instrução.
- Aparece em:
- Obter instrução SQL
- Exemplo:
- id-do-recurso
Filtro por nome do job
Filtro pelo nome exato (sem diferenciar maiúsculas e minúsculas).
- Aparece em:
- Listar jobs
- Exemplo:
- Exemplo de atendimento
Expandir tarefas
Em campos adicionaisDefine se este comportamento fica ativado ou desativado.
- Aparece em:
- Listar jobs
- Opções:
- Não · Sim
- Padrão:
- Não
Limite
Em campos adicionaisDefine um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Listar jobs, Listar execuções
- Exemplo:
- 10
Posição inicial
Em campos adicionaisDefine um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Listar jobs, Listar execuções
- Exemplo:
- 0
ID do job
Obrigatório conforme a operaçãoInforme o ID do job.
- Aparece em:
- Executar job, Listar execuções, Obter job
- Exemplo:
- id-do-recurso
Parâmetros do job
Em campos adicionaisInforma dados estruturados ou código no formato exigido pelo campo.
- Aparece em:
- Executar job
- Exemplo:
- { "chave": "valor" }
Parâmetros do notebook
Em campos adicionaisInforma dados estruturados ou código no formato exigido pelo campo.
- Aparece em:
- Executar job
- Exemplo:
- { "chave": "valor" }
Token de idempotência
Em campos adicionaisToken único para evitar execuções duplicadas (máx. 64 caracteres).
- Aparece em:
- Executar job
- Exemplo:
- Token único para evitar execuções duplicadas (máx. 64 caracteres)
ID da execução
Obrigatório conforme a operaçãoInforme o ID da execução.
- Aparece em:
- Obter execução, Cancelar execução, Obter resultado da execução
- Exemplo:
- id-do-recurso
Incluir histórico
Em campos adicionaisDefine se este comportamento fica ativado ou desativado.
- Aparece em:
- Obter execução
- Opções:
- Não · Sim
- Padrão:
- Não
Incluir valores resolvidos
Em campos adicionaisDefine se este comportamento fica ativado ou desativado.
- Aparece em:
- Obter execução
- Opções:
- Não · Sim
- Padrão:
- Não
Somente ativas
Em campos adicionaisDefine se este comportamento fica ativado ou desativado.
- Aparece em:
- Listar execuções
- Opções:
- Não · Sim
- Padrão:
- Não
Somente concluídas
Em campos adicionaisDefine se este comportamento fica ativado ou desativado.
- Aparece em:
- Listar execuções
- Opções:
- Não · Sim
- Padrão:
- Não
Tipo de execução
Em campos adicionaisEscolhe uma das opções aceitas por este campo.
- Aparece em:
- Listar execuções
- Opções:
- Todos · Execução de job · Execução de fluxo · Execução avulsa (submit)
- Exemplo:
- Todos
Iniciadas a partir de
Em campos adicionaisEpoch em ms (ex.: 1700000000000).
- Aparece em:
- Listar execuções
- Exemplo:
- cliente@exemplo.com
Iniciadas até
Em campos adicionaisEpoch em ms (ex.: 1700100000000).
- Aparece em:
- Listar execuções
- Exemplo:
- cliente@exemplo.com
ID do cluster
Obrigatório conforme a operaçãoInforme o ID do cluster.
- Aparece em:
- Obter cluster
- Exemplo:
- id-do-recurso
Host do workspace
ObrigatórioEndereço do seu workspace no Databricks, como aparece no navegador ao abrir o workspace (ex.: dbc-abc123.cloud.databricks.com).
- Exemplo:
- dbc-abc123.cloud.databricks.com
Token de acesso
ObrigatórioDado protegidoInforme o seu token de acesso pessoal (Personal Access Token) do Databricks.
- Padrão:
- Segredo protegido
Saídas
Para usar um resultado deste bloco em uma etapa seguinte, digite < no campo e escolha o bloco e o campo. A referência tem o formato <databricks.statementId>: antes do ponto vai o nome do bloco no seu fluxo, em minúsculas, sem espaços e sem acentos.
| Referência | Tipo | O que contém |
|---|---|---|
<databricks.statementId> | string | ID da instrução. |
<databricks.status> | string | Status da instrução SQL, da mensagem do Genie ou do agente Genie. |
<databricks.columns> | json | Esquema das colunas do resultado. |
<databricks.data> | json | Linhas do resultado como matriz (lista de listas). |
<databricks.totalRows> | number | Total de linhas. |
<databricks.truncated> | boolean | Indica se os resultados foram truncados. |
<databricks.jobs> | json | Lista de jobs. |
<databricks.hasMore> | boolean | Indica se há mais resultados ou itens do agente Genie disponíveis. |
<databricks.nextPageToken> | string | Token de paginação da próxima página. |
<databricks.warehouses> | json | Lista de SQL warehouses ([{warehouseId, name, clusterSize, state, warehouseType, ...}]). |
<databricks.name> | string | Nome do job. |
<databricks.runAsUserName> | string | Usuário com o qual o job é executado. |
<databricks.format> | string | Formato do job (SINGLE_TASK ou MULTI_TASK). |
<databricks.maxConcurrentRuns> | number | Número máximo de execuções simultâneas. |
<databricks.timeoutSeconds> | number | Tempo limite do job, em segundos. |
<databricks.createdTime> | number | Data e hora de criação do job (epoch em ms). |
<databricks.schedule> | json | Agendamento cron (quartz_cron_expression, timezone_id, pause_status). |
<databricks.tags> | json | Tags (chave-valor) aplicadas ao job. |
<databricks.tasks> | json | Definições das tarefas do job. |
<databricks.runId> | number | ID da execução disparada. |
<databricks.numberInJob> | number | Número sequencial da execução no job. |
<databricks.jobId> | number | ID do job ao qual a execução pertence. |
<databricks.runName> | string | Nome da execução. |
<databricks.runType> | string | Tipo de execução (JOB_RUN, WORKFLOW_RUN, SUBMIT_RUN). |
<databricks.attemptNumber> | number | Número da tentativa. |
<databricks.state> | json | Estado da execução com lifeCycleState, resultState, stateMessage. |
<databricks.startTime> | number | Horário de início da execução (epoch em ms). |
<databricks.endTime> | number | Horário de término da execução (epoch em ms). |
<databricks.setupDuration> | number | Duração da preparação do cluster (ms). |
<databricks.executionDuration> | number | Duração da execução (ms). |
<databricks.cleanupDuration> | number | Duração da limpeza (ms). |
<databricks.queueDuration> | number | Tempo na fila (ms). |
<databricks.runPageUrl> | string | URL da página de detalhes da execução. |
<databricks.creatorUserName> | string | E-mail de quem criou a execução. |
<databricks.runs> | json | Lista de execuções de jobs. |
<databricks.success> | boolean | Indica se o pedido de cancelamento foi aceito. |
<databricks.notebookOutput> | json | Saída da tarefa de notebook. |
<databricks.error> | string | Mensagem de erro se a execução falhou ou o Genie não conseguiu responder. |
<databricks.errorTrace> | string | Rastreamento de pilha do erro (stack trace). |
<databricks.logs> | string | Logs da execução. |
<databricks.logsTruncated> | boolean | Indica se os logs foram truncados. |
<databricks.clusters> | json | Lista de clusters. |
<databricks.cluster> | json | Detalhes do cluster (clusterId, clusterName, state, sparkVersion, autoscale, ...). |
<databricks.conversationId> | string | ID da conversa no Genie. |
<databricks.messageId> | string | ID da mensagem no Genie. |
<databricks.content> | string | Pergunta feita ao Genie. |
<databricks.answer> | string | Resposta em texto ou resumo do Genie. |
<databricks.followUpQuestion> | string | Pergunta de esclarecimento que o Genie fez no lugar da resposta ou junto com ela. |
<databricks.queryTitle> | string | Título da consulta gerada. |
<databricks.sql> | string | Consulta SQL gerada pelo Genie. |
<databricks.queryDescription> | string | Descrição do SQL gerado. |
<databricks.queryAttachmentId> | string | ID do anexo da consulta gerada. |
<databricks.rowCount> | number | Linhas retornadas pela consulta gerada. |
<databricks.thoughts> | json | Como o Genie interpretou a pergunta e montou o SQL ([{type, content}]). |
<databricks.suggestedQuestions> | json | Próximas perguntas sugeridas pelo Genie. |
<databricks.visualizations> | json | Gráficos gerados pelo Genie ([{attachmentId, title, queryAttachmentId}]). |
<databricks.errorType> | string | Tipo de erro quando o Genie não conseguiu responder. |
<databricks.createdTimestamp> | number | Quando a mensagem do Genie foi criada. |
<databricks.messages> | json | Mensagens do Genie ([{messageId, content, status, answer, sql, ...}]). |
<databricks.file> | file | Gráfico do Genie baixado (PNG). |
<databricks.conversations> | json | Conversas do Genie ([{conversationId, title, createdTimestamp, agentType}]). |
<databricks.spaces> | json | Espaços Genie ([{spaceId, title, description, warehouseId, ...}]). |
<databricks.spaceId> | string | ID do espaço Genie. |
<databricks.title> | string | Título do espaço Genie. |
<databricks.description> | string | Descrição do espaço Genie. |
<databricks.warehouseId> | string | SQL warehouse consultado pelo espaço Genie. |
<databricks.parentPath> | string | Pasta do workspace que contém o espaço Genie. |
<databricks.createTime> | string | Quando o espaço Genie foi criado. |
<databricks.updateTime> | string | Quando o espaço Genie foi alterado pela última vez. |
<databricks.serializedSpace> | string | Configuração serializada do espaço Genie (texto JSON). |
<databricks.responseId> | string | ID da resposta do agente Genie. |
<databricks.report> | string | Relatório final do agente Genie. |
<databricks.queries> | json | SQL executado pelo agente Genie ([{callId, title, sql}]). |
<databricks.items> | json | Itens do agente Genie ([{type, id, status, role, text, callId, name, arguments, output}]). |
<databricks.createdAt> | number | Quando a resposta do agente Genie foi criada (epoch Unix em segundos). |
<databricks.firstId> | string | ID do primeiro item do agente Genie na página. |
<databricks.lastId> | string | ID do último item do agente Genie na página. |
Exemplo de uso
Objetivo: Localizar um cadastro e aproveitar seus dados nas etapas seguintes.
- Operação
- Executar SQL
- Host do workspace
- dbc-abc123.cloud.databricks.com
- ID do SQL warehouse
- id-do-recurso
- Comando SQL
- { "chave": "valor" }
Os valores são ilustrativos. Teste primeiro com dados fictícios ou de homologação.
Erros comuns e como resolver
- O bloco não executa
- Confira se existe um caminho de setas que parte do gatilho (ou do Início) até este bloco. Blocos soltos no desenho são ignorados.
- Aparece “Validação do fluxo” no terminal
- Há campo obrigatório vazio. Clique no aviso, abra o bloco indicado e preencha o campo marcado.
- Um campo chega vazio na etapa seguinte
- Confira se a referência aponta para um bloco que já executou e para um campo que existe, como <databricks.statementId>. O nome antes do ponto é o nome do bloco no seu fluxo, em minúsculas, sem espaços e sem acentos.
- O campo que eu procuro não aparece
- Os campos mudam conforme a operação escolhida. Escolha a operação primeiro; campos menos usados ficam em “Mostrar campos adicionais”.
- Credencial ausente ou recusada
- Escolha uma conexão válida do workspace. Se a senha ou a chave mudou no serviço, atualize a conexão cadastrada em vez de colar o segredo no bloco.
- Não foi possível conectar ao banco
- Confira endereço, porta, nome do banco e usuário da conexão, e se o banco aceita conexões vindas da plataforma (firewall e lista de IPs liberados).
- O serviço recusou a chamada ou devolveu erro
- Leia a mensagem no terminal: ela traz o motivo informado pelo serviço. Confira IDs, limites de uso e permissões, e teste antes com um recurso de homologação.
Blocos relacionados
- Amazon DynamoDBConsultar, inserir, varrer, atualizar e excluir itens em tabelas do Amazon DynamoDB.
- Amazon RDSConsultar e alterar bancos Amazon RDS compatíveis por meio da Data API.
- ClickHouseConsultar e alterar dados em um banco ClickHouse.
- ElasticsearchPesquisar, indexar e administrar dados no Elasticsearch.
- Google AppSheetConsultar, adicionar, editar e excluir linhas de uma tabela do Google AppSheet.
- Microsoft DataverseConsultar e administrar registros em tabelas do Microsoft Dataverse.