Banco Completo de 75 Questões: Enunciados, Alternativas, Respostas e Explicações Detalhadas
Clique em uma alternativa para revelar a resposta correta e sua explicação.
Pontuação: 0 / 75Respondidas: 0 / 75Acertos: –
Questão 1 / 75
Você tem um job do Azure Databricks que usa Spark SQL e operações DataFrame para realizar junções e agregações em grandes tabelas Delta. A carga de trabalho foi validada no Databricks Runtime 14.3 LTS. O job não usa bibliotecas de machine learning. Qual configuração você deve usar para manter a compatibilidade e melhorar o desempenho das transformações?
Propostas de resposta:
A. Databricks Runtime 14.3 LTS com o Photon desativado
B. Databricks Runtime 14.3 LTS ML com o Photon ativado
C. A versão principal mais recente do Databricks Runtime (Current DBR) com o Photon ativado
D. Databricks Runtime 14.3 LTS com o Photon ativado (Resposta correta)
Justificativa:
Manter a versão 14.3 LTS garante a compatibilidade com o ambiente validado. A ativação do motor vetorizado Photon proporciona acelerações significativas nas operações de agregação e junção SQL/DataFrame em tabelas Delta.
Por que as outras opções estão incorretas:
Opção A : Desativar o Photon priva a carga de trabalho das otimizações de desempenho vetorizadas.
Opção B : A imagem DBR ML adiciona um custo extra desnecessário de dependências de ML que não são usadas.
Opção C : Mudar a versão principal do Databricks Runtime pode introduzir quebras de compatibilidade.
Módulo Microsoft Learn : Optimize compute in Azure Databricks
Questão 2 / 75
Você tem um catálogo do Unity Catalog chamado Catalog1. Um pipeline ingere arquivos brutos, cria tabelas Delta tratadas e publica views de relatórios. Como você deve organizar os objetos no Catalog1 para permitir que os analistas leiam somente os relatórios e que os engenheiros gerenciem os dados brutos e os tratados separadamente?
Propostas de resposta:
A. Criar três catálogos distintos chamados Catalog_Raw, Catalog_Cleansed e Catalog_Reporting
B. Criar schemas chamados raw_data, cleansed_data e reporting_views no Catalog1 (Resposta correta)
C. Criar schemas nomeados de acordo com os departamentos de negócio (ex.: marketing_data, finance_data) no Catalog1
D. Usar um único schema e adicionar prefixos de nomes aos objetos (ex.: raw_table1, reporting_view1)
Justificativa:
A criação de três schemas dentro do mesmo catálogo permite aplicar uma política de governança refinada. É possível conceder o privilégio GRANT SELECT no schema reporting_views aos analistas, isolando ao mesmo tempo o gerenciamento dos dados brutos e tratados.
Por que as outras opções estão incorretas:
Opção A : Não respeita a instrução que exige organizar os objetos dentro do catálogo existente Catalog1.
Opção C : A separação por departamento de negócio não resolve a separação das etapas técnicas do pipeline.
Opção D : O uso de prefixos em um schema único impede aplicar direitos globais de acesso por nível de schema.
Módulo Microsoft Learn : Manage database objects with Unity Catalog
Questão 3 / 75
Você deve criar um catálogo externo (foreign catalog) no Unity Catalog para fornecer acesso governado somente leitura a um banco de dados PostgreSQL externo. Qual objeto do Unity Catalog você deve configurar primeiro?
Propostas de resposta:
A. An external location (Um local externo)
B. A connection (Uma conexão) (Resposta correta)
C. A storage credential (Uma credencial de armazenamento)
D. A schema (Um schema)
Justificativa:
No Lakehouse Federation, o objeto Connection contém o caminho de acesso, o host e as credenciais necessárias para conectar-se ao servidor de banco de dados externo. Ele constitui o pré-requisito obrigatório antes de poder criar um Foreign Catalog.
Por que as outras opções estão incorretas:
Opção A : Os External Locations se aplicam ao armazenamento de objetos (ADLS Gen2, AWS S3), não a bancos de dados relacionais SQL.
Opção C : As Storage Credentials são associadas a locais externos para a autenticação na nuvem, não a bancos PostgreSQL.
Opção D : Um schema é um objeto filho criado dentro de um catálogo, ele não pode preceder a criação do catálogo.
Módulo Microsoft Learn : Connect to external data sources with Lakehouse Federation
Questão 4 / 75
Você tem tabelas Delta gerenciadas do Unity Catalog chamadas Catalog1.Schema1.Table1 e Catalog1.Schema1.Table2 com o rastreamento de linhas ativado. Uma consulta de dashboard junta essas tabelas por order_id e agrupa por order_date, mas ela excede a duração permitida. Você deve criar um objeto do Unity Catalog para armazenar os resultados pré-calculados, usar os dados modificados para os refreshes e evitar qualquer recálculo completo durante os refreshes normais. Qual configuração criar?
Propostas de resposta:
A. Uma view materializada usando REFRESH POLICY INCREMENTAL STRICT (Resposta correta)
B. Uma view materializada usando REFRESH POLICY INCREMENTAL
C. Uma tabela de streaming (Streaming table)
D. Uma view padrão (Standard view)
Justificativa:
As views materializadas permitem armazenar fisicamente em disco os resultados pré-calculados de consultas complexas. O uso da política INCREMENTAL STRICT força um refresh incremental e garante que nenhum recálculo completo (*full recompute*) será executado durante os refreshes comuns.
Por que as outras opções estão incorretas:
Opção B : A política INCREMENTAL permite um repli (*fallback*) para um recálculo completo se o processamento incremental falhar.
Opção C : As tabelas de streaming são projetadas para pipelines de ingestão append-only, não para agregar consultas complexas com junções em tabelas existentes.
Opção D : Uma view padrão não persiste os resultados pré-calculados e reexecuta a consulta complexa a cada consulta.
Módulo Microsoft Learn : Build data pipelines using Delta Live Tables and Materialized Views
Questão 5 / 75
Você tem um espaço de trabalho do Azure Databricks para o desenvolvimento de notebooks interativos. Uma equipe cria diariamente recursos de computação multiuso. As cargas de trabalho alternam entre exploração rápida e transformações volumosas, e a maior parte da computação fica inativa fora do horário comercial. Qual configuração adotar para melhorar a disponibilidade durante a criação repetida de computações, evitar dimensionar para a demanda máxima e reduzir os custos?
Propostas de resposta:
A. Usar instâncias sob demanda (on-demand), ativar o dimensionamento automático (autoscaling) e configurar o encerramento automático (auto-termination)
B. Atribuir a computação a um pool de instâncias, ativar o autoscaling e desativar o encerramento automático
C. Atribuir a computação a um pool de instâncias, fixar o número de workers e configurar o encerramento automático
D. Atribuir a computação a um pool de instâncias, ativar o autoscaling e configurar o encerramento automático (Resposta correta)
Justificativa:
1. **Pool de instâncias:** Mantém VMs prontas para uso e acelera o tempo de inicialização da computação. 2. **Autoscaling:** Adapta dinamicamente o número de nós para absorver as transformações volumosas sem superdimensionar inutilmente durante as fases de exploração. 3. **Auto-termination:** Desliga automaticamente os clusters inativos fora do horário de trabalho, a fim de eliminar os custos de computação desnecessários.
Por que as outras opções estão incorretas:
Opção A : A ausência de pool de instâncias provoca atrasos significativos durante as criações repetidas.
Opção B : Desativar o encerramento automático deixa os recursos inativos em execução durante a noite, gerando custos extras significativos.
Opção C : Usar um número fixo de workers impede adaptar dinamicamente os recursos conforme o tamanho das tarefas.
Módulo Microsoft Learn : Configure and manage compute in Azure Databricks
Questão 6 / 75
Você tem uma tabela Delta externa do Unity Catalog chamada catalog1.schema1.table1 com a compatibilidade de leitura Apache Iceberg ativada via UniForm. As views e autorizações existentes fazem referência à tabela pelo nome. Você deve migrá-la para o armazenamento gerenciado do Unity Catalog via SQL serverless preservando o histórico, as autorizações e as views. Como completar o script SQL?
Propostas de resposta:
A. Menu 1: DESCRIBE DETAIL | Menu 2: SET MANAGED
B. Menu 1: CREATE TABLE | Menu 2: AS SELECT * FROM
C. Menu 1: ALTER TABLE | Menu 2: SET MANAGED TRUNCATE UNIFORM HISTORY (Resposta correta)
D. Menu 1: SHOW TABLES IN | Menu 2: SET MANAGED
Justificativa:
O comando ALTER TABLE catalog1.schema1.table1 SET MANAGED converte a tabela externa em tabela gerenciada no local, sem alterar o objeto, o que preserva as views dependentes, o histórico e as autorizações concedidas. A cláusula TRUNCATE UNIFORM HISTORY é obrigatória para redefinir os metadados UniForm/Iceberg durante a transição.
Por que as outras opções estão incorretas:
Opção A & D : DESCRIBE e SHOW são comandos de consulta, não instruções DDL de conversão.
Opção B : CREATE TABLE ... AS SELECT cria um novo objeto e perde a vinculação automática das autorizações e views originais.
Módulo Microsoft Learn : Manage tables and data layouts in Delta Lake
Questão 7 / 75
Um job de produção chamado Job1 contém duas tarefas: IngestOrders (usando PySpark DataFrames/SQL sem exigência de bibliotecas personalizadas ou tipo de VM) e TrainLegacy (usando APIs Spark RDD, um JAR personalizado e um tipo de VM específico). Quais tipos de computação você deve atribuir a cada tarefa para minimizar o gerenciamento e os custos de inatividade?
Propostas de resposta:
A. IngestOrders: Classic all-purpose compute | TrainLegacy: Classic jobs compute
B. IngestOrders: Serverless job compute | TrainLegacy: Classic jobs compute (Resposta correta)
C. IngestOrders: Serverless SQL warehouse | TrainLegacy: Serverless job compute
D. IngestOrders: Serverless job compute | TrainLegacy: Serverless SQL warehouse
Justificativa:
1. **IngestOrders:** A computação Serverless job compute elimina os custos de inatividade e a administração de clusters, oferecendo suporte perfeito ao código PySpark DataFrame e SQL padrão. 2. **TrainLegacy:** A computação Classic jobs compute permite a configuração refinada do tipo de instância VM, o suporte às APIs Spark RDD legadas e o carregamento de bibliotecas JAR personalizadas.
Por que as outras opções estão incorretas:
Opção A : O Classic all-purpose compute destina-se ao desenvolvimento interativo e é mais caro para tarefas automatizadas de produção.
Opção C & D : O Serverless SQL Warehouse é otimizado para consultas SQL analíticas puras e não oferece suporte à execução de código Python DataFrame ou RDD personalizado.
Módulo Microsoft Learn : Run automated workloads with Azure Databricks Jobs
Questão 8 / 75
Você deve conceder os privilégios mais restritivos a um grupo de analistas chamado `analytics_team` para que ele possa executar consultas em um SQL Warehouse chamado `Reporting_Warehouse` sem poder modificar sua configuração nem excluí-lo. Qual comando privilegiar?
Propostas de resposta:
A. GRANT USE WAREHOUSE ON WAREHOUSE Reporting_Warehouse TO analytics_team (Resposta correta)
B. GRANT MANAGE ON WAREHOUSE Reporting_Warehouse TO analytics_team
C. GRANT SELECT ON WAREHOUSE Reporting_Warehouse TO analytics_team
D. GRANT MODIFY ON WAREHOUSE Reporting_Warehouse TO analytics_team
Justificativa:
O privilégio `CAN USE` (expresso em SQL por `GRANT USE WAREHOUSE`) permite que os usuários anexem suas sessões e executem consultas SQL nesse warehouse sem dispor dos direitos de administração.
Por que as outras opções estão incorretas:
Opção B : O privilégio MANAGE concede direitos de administração completos (modificação, exclusão).
Opção C & D : Os privilégios `SELECT` e `MODIFY` se aplicam aos objetos de dados (tabelas, views) e não ao componente de computação Warehouse.
Módulo Microsoft Learn : Manage access control in Unity Catalog
Questão 9 / 75
Um sistema de origem deposita continuamente arquivos JSON de estrutura levemente evolutiva em um contêiner ADLS Gen2. Qual componente de ingestão do Azure Databricks você deve usar para detectar automaticamente os novos arquivos e fazer o schema evoluir sem interrupção?
Propostas de resposta:
A. `spark.read.format("json").load(...)` executado em um job agendado a cada 5 minutos
B. O comando `COPY INTO` executado em loop em um notebook
C. Uma consulta federada do Lakehouse Federation diretamente no armazenamento
D. Auto Loader (`spark.readStream.format("cloudFiles")`) (Resposta correta)
Justificativa:
O Auto Loader (`cloudFiles`) é otimizado para a ingestão incremental de milhões de arquivos. Ele inclui um rastreamento eficiente dos arquivos que chegam via notificações e gerencia nativamente *schema inference* e *schema evolution*.
Por que as outras opções estão incorretas:
Opção A : Reavalia todo o diretório a cada vez, o que se torna extremamente lento à medida que o número de arquivos aumenta.
Opção B : `COPY INTO` é adequado ao processamento batch/micro-batch, mas é menos flexível que o Auto Loader para a detecção refinada de schemas evolutivos complexos em fluxo contínuo.
Opção C : O Lakehouse Federation diz respeito à consulta de bancos de dados remotos, não à ingestão de arquivos de diretórios.
Módulo Microsoft Learn : Ingest data into Azure Databricks with Auto Loader
Questão 10 / 75
Você tem uma tabela Delta volumosa que sofre frequentemente consultas filtrando por uma coluna de alta cardinalidade (ex.: `customer_id`). O particionamento tradicional nessa coluna criou um problema grave de "arquivos pequenos". Qual técnica você deve usar?
Propostas de resposta:
A. Reparticionar a tabela com `df.repartition(100)` antes de cada gravação
B. Aplicar o comando `OPTIMIZE` com a indexação multidimensional `ZORDER BY (customer_id)` ou ativar o Liquid Clustering (Resposta correta)
C. Converter a tabela para o formato Parquet padrão
D. Criar um índice secundário SQL clássico na coluna `customer_id`
Justificativa:
A organização `Z-Order` (ou o `Liquid Clustering` moderno) agrupa os dados relacionados nos mesmos arquivos sem dividir fisicamente a tabela em diretórios distintos, eliminando o problema dos arquivos pequenos e permitindo que o Data Skipping elimine os arquivos não pertinentes.
Por que as outras opções estão incorretas:
Opção A : `repartition()` reorganiza o número de arquivos em memória durante a gravação, mas não reordena logicamente os dados por valor de coluna.
Opção C : O Parquet padrão não gerencia nem o Z-Ordering nem os recursos de otimização avançados do Delta Lake.
Opção D : As tabelas Spark/Delta não suportam os índices secundários SQL tradicionais dos SGBDs relacionais.
Módulo Microsoft Learn : Optimize Delta Lake performance with Z-Order and Liquid Clustering
Questão 11 / 75
Você deve realizar uma auditoria e consultar o estado exato da tabela Delta `sales` como ela existia em 15 de janeiro de 2026 às 10:00:00 UTC. Qual sintaxe SQL está correta?
Propostas de resposta:
A. `SELECT * FROM sales AT DATE '2026-01-15 10:00:00'`
B. `SELECT * FROM sales RESTORE TO '2026-01-15 10:00:00'`
C. `SELECT * FROM sales WITH HISTORY (timestamp = '2026-01-15 10:00:00')`
D. `SELECT * FROM sales TIMESTAMP AS OF '2026-01-15 10:00:00'` (Resposta correta)
Justificativa:
O Delta Lake oferece suporte à viagem no tempo (*Time Travel*). A cláusula `TIMESTAMP AS OF` (ou `VERSION AS OF`) permite consultar os dados em um estado histórico preciso, preservado pelo log de transações `_delta_log`.
Por que as outras opções estão incorretas:
Opção A, B & C : São sintaxes SQL incorretas ou inexistentes no dialeto Databricks SQL / Delta Lake.
Módulo Microsoft Learn : Work with Delta Lake table history
Questão 12 / 75
Para reduzir os custos de armazenamento, você decide excluir definitivamente os arquivos de dados Parquet antigos e obsoletos que não são mais referenciados pelas transações atuais da tabela Delta `orders` há mais de 7 dias (168 horas). Qual comando executar?
Propostas de resposta:
A. `DELETE FROM orders WHERE commit_time < CURRENT_DATE() - 7`
B. `PURGE TABLE orders RETAIN 7 DAYS`
C. `VACUUM orders RETAIN 168 HOURS` (Resposta correta)
D. `OPTIMIZE orders CLEANUP OLD FILES`
Justificativa:
O comando `VACUUM` limpa fisicamente do armazenamento de objetos os arquivos de dados que não são mais referenciados no estado atual ou nos estados mais recentes que o limite de retenção especificado (7 dias por padrão).
Por que as outras opções estão incorretas:
Opção A : `DELETE` exclui registros lógicos de dados, mas cria novos commits sem limpar os arquivos físicos antigos.
Opção B & D : Sintaxes SQL inválidas no Databricks.
Módulo Microsoft Learn : Maintain Delta Lake tables
Questão 13 / 75
Na hierarquia de nomenclatura e de governança de objetos introduzida pelo Unity Catalog, qual é a estrutura completa obrigatória para fazer referência a uma tabela?
Propostas de resposta:
A. `catalog.schema.table` (Resposta correta)
B. `workspace.database.table`
C. `storage_account.container.table`
D. `group.schema.table`
Justificativa:
O Unity Catalog aplica um namespace de três níveis: `catalog_name.schema_name.table_name`, o que permite isolar claramente os ambientes e domínios funcionais.
Por que as outras opções estão incorretas:
Opção B, C & D : Não correspondem aos três níveis de metadados do Unity Catalog.
Módulo Microsoft Learn : Manage database objects with Unity Catalog
Questão 14 / 75
Você deve configurar o acesso a um contêiner ADLS Gen2 chamado `raw-data` localizado em uma conta de armazenamento do Azure. No Unity Catalog, qual objeto vincula uma *Storage Credential* (credencial de acesso gerenciada) a um caminho de URI de armazenamento externo (`abfss://...`)?
Propostas de resposta:
A. An External Location (Um local externo) (Resposta correta)
B. A Foreign Catalog
C. A Delta Share
D. A Managed Volume
Justificativa:
O objeto `External Location` associa um caminho de armazenamento em nuvem seguro a uma identidade de acesso (`Storage Credential`), permitindo conceder privilégios de leitura/gravação nesse subconjunto de armazenamento.
Por que as outras opções estão incorretas:
Opção B : Serve para conectar bancos de dados relacionais externos via Lakehouse Federation.
Opção C : Serve para o compartilhamento seguro de dados multiempresas via Delta Sharing.
Opção D : Um Managed Volume usa o armazenamento gerenciado padrão do schema, não um local externo personalizado.
Módulo Microsoft Learn : Manage external locations and storage credentials
Questão 15 / 75
Você está construindo um pipeline Delta Live Tables (DLT). Você deseja adicionar uma regra de controle de qualidade que imponha que o campo `timestamp` nunca seja nulo. Qual sintaxe DLT usar?
Propostas de resposta:
A. `CHECK (timestamp IS NOT NULL)`
B. `@dlt.expect("valid_timestamp", "timestamp IS NOT NULL")` (Resposta correta)
C. `ASSERT timestamp IS NOT NULL`
D. `WHERE timestamp IS NOT NULL`
Justificativa:
Em Python DLT, o decorador `@dlt.expect` (ou, em SQL, a cláusula `CONSTRAINT ... EXPECT`) define métricas de qualidade (*expectations*) acompanhadas nos logs de eventos do DLT.
Por que as outras opções estão incorretas:
Opção A & C : Não são decoradores de expectations específicos da API Delta Live Tables.
Opção D : Filtraria as linhas na transformação sem registrar métricas de qualidade nem alertas do DLT.
Módulo Microsoft Learn : Manage data quality with Delta Live Tables
Questão 16 / 75
Em um pipeline Delta Live Tables, qual ação de expectation você deve especificar se quiser que as linhas que falham no teste de validação sejam imediatamente eliminadas da tabela de destino sem interromper a execução do pipeline?
Propostas de resposta:
A. `ON VIOLATION FAIL UPDATE`
B. `ON VIOLATION IGNORE`
C. `ON VIOLATION DROP ROW` (Resposta correta)
D. `ON VIOLATION LOG ONLY`
Justificativa:
A instrução `ON VIOLATION DROP ROW` ordena ao motor DLT descartar os registros inválidos enquanto registra o número de linhas removidas na telemetria do pipeline.
Por que as outras opções estão incorretas:
Opção A : Bloqueia e faz falhar a execução do pipeline.
Opção B & D : O comportamento padrão mantém a linha inválida e apenas registra a anomalia nas métricas.
Módulo Microsoft Learn : Manage data quality with Delta Live Tables
Questão 17 / 75
Em um pipeline DLT crítico para a conformidade financeira, a presença de transações com valor negativo é inaceitável. Qual comportamento de expectation do DLT você deve configurar para interromper imediatamente o processamento se um único dado inválido ocorrer?
Propostas de resposta:
A. `ON VIOLATION DROP ROW`
B. `ON VIOLATION FAIL UPDATE` (Resposta correta)
C. `ON VIOLATION STOP PIPELINE`
D. `ON VIOLATION RAISE ERROR`
Justificativa:
A instrução `ON VIOLATION FAIL UPDATE` interrompe imediatamente a atualização do pipeline assim que um registro não respeita a restrição declarada.
Por que as outras opções estão incorretas:
Opção A : Continuaria o processamento removendo silenciosamente as linhas ruins.
Opção C & D : Palavras-chave fictícias não reconhecidas pela sintaxe DLT.
Módulo Microsoft Learn : Manage data quality with Delta Live Tables
Questão 18 / 75
Você executa uma consulta Spark Structured Streaming que lê eventos do Event Hubs e os grava no Delta Lake. Para garantir que o fluxo possa retomar exatamente de onde parou após uma reinicialização do cluster, qual parâmetro de gravação é indispensável?
Propostas de resposta:
A. `.option("resumeFrom", "latest")`
B. `.option("enableStateStore", "true")`
C. `.option("checkpointLocation", "abfss://...")` (Resposta correta)
D. `.option("autoRecovery", "enabled")`
Justificativa:
O diretório de *checkpointing* (`checkpointLocation`) persiste o estado do fluxo (offsets, metadados de progresso) em armazenamento durável, garantindo processamento *exactly-once* durante as reinicializações.
Por que as outras opções estão incorretas:
Opção A, B & D : Não são opções válidas de gerenciamento de estado de recuperação do Structured Streaming.
Módulo Microsoft Learn : Process streaming data with Structured Streaming
Questão 19 / 75
Você deseja capturar e propagar as alterações de linhas (inserções, atualizações, exclusões) em uma tabela Delta `customers` para consumi-las como um fluxo incremental. Qual propriedade da tabela você deve ativar?
Propostas de resposta:
A. `ALTER TABLE customers SET TBLPROPERTIES (delta.enableChangeDataFeed = true)` (Resposta correta)
B. `ALTER TABLE customers SET TBLPROPERTIES (delta.enableCDC = true)`
C. `ALTER TABLE customers ENABLE ROW LOGGING`
D. `ALTER TABLE customers TRACK CHANGES`
Justificativa:
O recurso Change Data Feed (CDF) é ativado com a propriedade `delta.enableChangeDataFeed = true`. Ele registra os metadados de alteração de linha que permitem a leitura via `readStream` com a função `readChangeDataFeed`.
Por que as outras opções estão incorretas:
Opção B, C & D : Sintaxes e nomes de propriedades incorretos.
Módulo Microsoft Learn : Use Delta Lake Change Data Feed
Questão 20 / 75
Você deve sincronizar uma tabela de dimensão `dim_product` executando uma atualização de preços para os produtos existentes e uma inserção para os novos produtos em uma única operação atômica. Qual instrução SQL usar?
Propostas de resposta:
A. `UPDATE OR INSERT INTO dim_product ...`
B. `UPSERT INTO dim_product SELECT * FROM new_products`
C. `COPY INTO dim_product FROM new_products`
D. `MERGE INTO dim_product target USING new_products source ON target.product_id = source.product_id WHEN MATCHED THEN UPDATE SET * WHEN NOT MATCHED THEN INSERT *` (Resposta correta)
Justificativa:
A instrução ANSI SQL `MERGE INTO` é o comando padrão no Delta Lake para executar operações de *Upsert* complexas (combinação de `WHEN MATCHED` e `WHEN NOT MATCHED`).
Por que as outras opções estão incorretas:
Opção A & B : `UPSERT` e `UPDATE OR INSERT` não são comandos SQL válidos.
Opção C : `COPY INTO` é usado para a ingestão de arquivos brutos de um armazenamento em nuvem, não para fazer uma junção/fusão de duas tabelas.
Módulo Microsoft Learn : Upsert data into Delta Lake tables
Questão 21 / 75
Você cria uma tabela de fatos `fact_transactions`. Você quer que um identificador numérico único seja incrementado automaticamente a cada nova linha inserida. Qual definição de coluna usar?
Propostas de resposta:
A. `transaction_id BIGINT AUTO_INCREMENT`
B. `transaction_id BIGINT GENERATED ALWAYS AS IDENTITY` (Resposta correta)
C. `transaction_id BIGINT DEFAULT NEXTVAL()`
D. `transaction_id BIGINT SERIAL`
Justificativa:
O Delta Lake suporta o padrão SQL `GENERATED ALWAYS AS IDENTITY` (ou `GENERATED BY DEFAULT AS IDENTITY`) para a geração automática de chaves de incremento.
Por que as outras opções estão incorretas:
Opção A, C & D : São sintaxes próprias do MySQL, PostgreSQL ou Oracle, não suportadas pelo Delta Lake.
Módulo Microsoft Learn : Manage tables and data layouts in Delta Lake
Questão 22 / 75
Para não gravar um token de acesso ou senha em texto claro em seus notebooks Python, qual utilitário Databricks você deve chamar para recuperar um segredo armazenado em um *Secret Scope* configurado?
Propostas de resposta:
A. `mssparkutils.credentials.getSecret(...)`
B. `spark.conf.get("secret.my_key")`
C. `os.getenv("MY_SECRET")`
D. `dbutils.secrets.get(scope = "my_scope", key = "my_key")` (Resposta correta)
Justificativa:
`dbutils.secrets.get()` é a API nativa do Databricks para extrair de forma segura as chaves de API e segredos armazenados nos cofres de segredos (Azure Key Vault ou Databricks Secret Scope).
Por que as outras opções estão incorretas:
Opção A : É uma biblioteca própria do Azure Synapse Analytics, não do Databricks.
Opção B & C : Não permitem extrair chaves seguras mascaradas do gerenciamento centralizado de segredos do Databricks.
Módulo Microsoft Learn : Manage secrets in Azure Databricks
Questão 23 / 75
Você deve configurar um cluster compartilhado entre vários Data Analysts. O cluster deve aplicar o controle de acesso refinado do Unity Catalog (segurança em nível de linhas/colunas) e impedir que um usuário acesse o sistema de arquivos subjacente do nó driver. Qual modo de acesso de computação escolher?
Propostas de resposta:
A. Shared Access Mode (Resposta correta)
B. Single User Access Mode
C. No Isolation Shared Access Mode
D. Custom Access Mode
Justificativa:
O modo de acesso `Shared` (compartilhado) isola as sessões dos usuários, proíbe o modo de privilégio de administrador local e aplica as políticas de governança e regras de segurança do Unity Catalog.
Por que as outras opções estão incorretas:
Opção B : Dedicado a um único usuário, não oferece suporte ao isolamento multiusuário.
Opção C : Desativa os bloqueios de segurança e não pode garantir a filtragem do Unity Catalog.
Módulo Microsoft Learn : Configure and manage compute in Azure Databricks
Questão 24 / 75
Você cria uma exibição dinâmica para mascarar os números de cartão de crédito dos usuários que não fazem parte do grupo `finance_hr`. Qual função de segurança usar na cláusula `CASE WHEN`?
Propostas de resposta:
A. `user_in_role('finance_hr')`
B. `check_group('finance_hr')`
C. `is_account_group_member('finance_hr')` (Resposta correta)
D. `current_user_has_grant('finance_hr')`
Justificativa:
A função `is_account_group_member()` avalia se o usuário que executa a consulta faz parte do grupo especificado no Unity Catalog para aplicar o mascaramento dinâmico.
Por que as outras opções estão incorretas:
Opção A, B & D : Nomes de funções inexistentes no Spark SQL / Unity Catalog.
Módulo Microsoft Learn : Manage access control in Unity Catalog
Questão 25 / 75
Você quer restringir a leitura das linhas da tabela `patients` de modo que os médicos vejam apenas os pacientes de sua respectiva região. Qual recurso nativo do Unity Catalog você deve anexar à tabela?
Propostas de resposta:
A. Uma função de Row Filter (`ALTER TABLE patients SET ROW FILTER region_filter ON (region)`) (Resposta correta)
B. Um Dynamic Schema Filter
C. Um gatilho de auditoria
D. Uma exibição materializada particionada
Justificativa:
Os `Row Filters` permitem vincular uma função SQL personalizada a uma tabela do Unity Catalog para interceptar e filtrar de forma transparente as linhas retornadas conforme a identidade do executor.
Por que as outras opções estão incorretas:
Opção B & C : Conceitos inexistentes no Unity Catalog.
Opção D : Multiplicaria os dados na forma de exibições sem garantir o bloqueio da tabela de origem original.
Módulo Microsoft Learn : Filter sensitive data using Row Filters and Column Masks
Questão 26 / 75
Você deve anonimizar uma coluna `ssn` (seguridade social) diretamente na tabela base do Unity Catalog, substituindo o valor por `'XXX-XX-'` para os não administradores. Qual recurso usar?
Propostas de resposta:
A. Um Column Mask (`ALTER TABLE customers ALTER COLUMN ssn SET MASK ssn_mask_fn`) (Resposta correta)
B. Uma chave de codificação SHA2
C. Um trigger de anonimização na gravação
D. Uma restrição CHECK de máscara
Justificativa:
Os `Column Masks` são aplicados a colunas específicas para transformar dinamicamente os valores retornados conforme o usuário que realiza o `SELECT`.
Por que as outras opções estão incorretas:
Opção B : O hash altera o dado de forma irreversível na gravação, sem possibilidade de desmascarar para administradores legítimos.
Opção C & D : Sintaxes não aplicáveis para a governança de mascaramento de coluna.
Módulo Microsoft Learn : Filter sensitive data using Row Filters and Column Masks
Questão 27 / 75
Qual recurso do workspace do Azure Databricks permite que os desenvolvedores sincronizem seus notebooks, arquivos de código Python e configurações com repositórios Git remotos (Azure DevOps, GitHub, GitLab)?
Propostas de resposta:
A. Databricks Connect
B. Databricks Sync Engine
C. Databricks Repos (Workspace Git Integration) (Resposta correta)
D. Delta Sharing
Justificativa:
O Databricks Repos oferece integração Git direta na UI para clonar, fazer push, pull e gerenciar branches em repositórios remotos.
Por que as outras opções estão incorretas:
Opção A : O Databricks Connect permite conectar seu IDE local (ex.: VS Code) a um cluster Databricks remoto.
Opção D : O Delta Sharing é um protocolo de compartilhamento de dados entre organizações.
Módulo Microsoft Learn : Use Git integration in Azure Databricks Repos
Questão 28 / 75
Um job do Databricks deve ser acionado automaticamente assim que um novo arquivo de extrato bancário chegar a uma pasta específica de um volume do Unity Catalog. Qual tipo de gatilho (*trigger*) você deve associar ao job?
Propostas de resposta:
A. Scheduled (CRON) Trigger
B. File arrival trigger (Resposta correta)
C. Continuous Execution Trigger
D. Webhook Event Trigger
Justificativa:
O gatilho `File arrival` monitora um local de armazenamento ou um volume e inicia a execução do job imediatamente após a detecção de um novo arquivo.
Por que as outras opções estão incorretas:
Opção A : Agenda execuções em horários fixos (ex.: todos os dias às 8h).
Opção C : Reinicia imediatamente o job em loop assim que ele termina.
Módulo Microsoft Learn : Run automated workloads with Azure Databricks Jobs
Questão 29 / 75
Uma tarefa dentro de um Job do Databricks falha ocasionalmente devido a um problema de instabilidade de rede temporária durante o download de um arquivo web. Como tornar o job mais resiliente sem modificar o código?
Propostas de resposta:
A. Aumentar o número de workers do cluster
B. Mudar o cluster para o modo Single User
C. Aumentar o número de tentativas de reexecução de tarefa (`Retries`) na configuração da tarefa (Resposta correta)
D. Ativar o rastreamento do Change Data Feed
Justificativa:
Configurar a política de `Retries` (tentativas) permite que o Databricks Jobs reexecute automaticamente a tarefa em caso de falha transitória antes de declarar a tarefa definitivamente com erro.
Por que as outras opções estão incorretas:
Opção A & B : Alterar o número de nós ou o modo de acesso não tem efeito sobre falhas transitórias de chamadas de rede externas.
Módulo Microsoft Learn : Run automated workloads with Azure Databricks Jobs
Questão 30 / 75
Onde você pode configurar o destino de entrega permanente dos logs de executores e do driver Spark (*Cluster Log Delivery*) para analisar erros *Out Of Memory* mesmo após a exclusão de um cluster?
Propostas de resposta:
A. Nas configurações avançadas do cluster (Advanced Options -> Logging) para um local ADLS Gen2 ou Volume (Resposta correta)
B. Nas opções do notebook
C. Apenas na tabela system.access
D. No arquivo de configuração do workspace do Azure Key Vault
Justificativa:
Na seção *Advanced Options* da configuração do cluster, você pode definir um caminho de armazenamento persistente para salvar automaticamente os logs `stdout` e `stderr` da aplicação Spark.
Por que as outras opções estão incorretas:
Opção B & D : Os notebooks e o Key Vault não gerenciam a persistência dos arquivos de logs do sistema Spark.
Módulo Microsoft Learn : Configure and manage compute in Azure Databricks
Questão 31 / 75
Você deve criar uma cópia instantânea de uma tabela Delta de produção de 10 TB para realizar testes rápidos em ambiente de desenvolvimento, sem duplicar os arquivos de dados físicos, para reduzir os custos. Qual comando executar?
Propostas de resposta:
A. `CREATE TABLE dev_table DEEP CLONE prod_table`
B. `CREATE TABLE dev_table AS SELECT * FROM prod_table`
C. `CREATE TABLE dev_table SHALLOW CLONE prod_table` (Resposta correta)
D. `COPY TABLE prod_table TO dev_table`
Justificativa:
Um `SHALLOW CLONE` (clonagem leve) copia apenas os metadados e o log de transação. Ele aponta para os mesmos arquivos de dados originais, tornando a criação quase instantânea e sem custo adicional de armazenamento.
Por que as outras opções estão incorretas:
Opção A & B : Copiam fisicamente a totalidade dos 10 TB de dados em disco.
Módulo Microsoft Learn : Clone tables on Delta Lake
Questão 32 / 75
Você deve criar um backup isolado de uma tabela Delta de produção em outro catálogo antes de realizar operações destrutivas. Você quer que essa nova tabela tenha seus próprios arquivos de dados totalmente independentes. Qual comando executar?
Propostas de resposta:
A. `CREATE TABLE backup_table SHALLOW CLONE prod_table`
B. `CREATE TABLE backup_table DEEP CLONE prod_table` (Resposta correta)
C. `EXPORT TABLE prod_table TO backup_table`
D. `SYNC TABLE prod_table TO backup_table`
Justificativa:
Um `DEEP CLONE` (clonagem profunda) copia integralmente a estrutura de metadados, bem como todos os arquivos de dados físicos, tornando a tabela de destino independente da origem.
Por que as outras opções estão incorretas:
Opção A : Uma clonagem leve sempre depende dos arquivos de origem originais.
Opção C & D : Sintaxes SQL inválidas.
Módulo Microsoft Learn : Clone tables on Delta Lake
Questão 33 / 75
Como um responsável pela Segurança pode identificar visualmente todas as views, tabelas e colunas de uma conta Azure Databricks alimentadas por uma coluna de origem específica que contém um código PII?
Propostas de resposta:
A. Ao consultar o grafo de linhagem de dados (Unity Catalog Data Lineage) no nível de coluna (Resposta correta)
B. Ao analisar o Spark UI DAG
C. Ao inspecionar os logs do driver Spark
D. Ao ler a tabela `system.billing.usage`
Justificativa:
O Unity Catalog captura automaticamente a linhagem (*lineage*) no nível de tabela e de coluna para todas as execuções SQL, Python e DLT, exibindo uma representação gráfica dos fluxos de dados.
Por que as outras opções estão incorretas:
Opção B : O DAG Spark mostra as etapas de execução de um job pontual, não a linhagem global persistida do catálogo.
Opção D : Refere-se aos custos e ao consumo de DBUs.
Módulo Microsoft Learn : Capture and view data lineage with Unity Catalog
Questão 34 / 75
Você deve construir um painel de FinOps para acompanhar o consumo de unidades Databricks (DBU) por usuário e por cluster. Qual esquema do sistema do Unity Catalog contém essas tabelas de auditoria?
Propostas de resposta:
A. `system.security`
B. `default.dbu_logs`
C. `system.billing` (Resposta correta)
D. `catalog1.system_logs`
Justificativa:
O esquema `system.billing` disponibiliza views como `system.billing.usage`, que registram o consumo detalhado de DBUs para toda a conta Azure Databricks.
Por que as outras opções estão incorretas:
Opção A, B & D : Nomes de esquemas ou de locais inexatos para os dados de faturamento.
Módulo Microsoft Learn : Monitor usage with system tables
Questão 35 / 75
Para minimizar os custos relacionados à execução de pipelines de processamento em lote noturnos não críticos, qual opção de máquinas virtuais e de tipo de computação é recomendada?
Propostas de resposta:
A. Clusters All-Purpose com instâncias sob demanda
B. SQL Warehouses Classic de tamanho XL
C. Computação Single User com desligamento automático desativado
D. Clusters de Jobs (Jobs compute) ou Serverless com instâncias Spot do Azure (Resposta correta)
Justificativa:
Os clusters de Jobs têm um preço de DBU reduzido em comparação com os clusters All-Purpose, e o uso de instâncias Spot do Azure permite obter descontos significativos no custo das máquinas virtuais em nuvem.
Por que as outras opções estão incorretas:
Opção A & C : São escolhas consideravelmente mais caras, adequadas ao desenvolvimento interativo.
Módulo Microsoft Learn : Optimize Azure Databricks costs
Questão 36 / 75
Qual recurso de organização física dos dados no Delta Lake substitui o particionamento tradicional e evita os problemas de particionamento excessivamente fino (*over-partitioning*) em tabelas de alto crescimento?
Propostas de resposta:
A. Auto-Indexing
B. Dynamic Bucketing
C. Liquid Clustering (`CLUSTER BY`) (Resposta correta)
D. Delta Caching
Justificativa:
O Liquid Clustering adapta de forma dinâmica a disposição dos dados em função das chaves definidas, sem criar subdiretórios físicos rígidos, eliminando as falhas do particionamento clássico.
Por que as outras opções estão incorretas:
Opção A & B : Recursos que não existem com esses nomes no Delta Lake.
Opção D : O Delta Cache acelera leituras repetidas em memória/SSD local nos workers, mas não organiza o armazenamento físico da tabela.
Módulo Microsoft Learn : Use Liquid Clustering for Delta tables
Questão 37 / 75
Você tem uma tabela configurada com Liquid Clustering na coluna `region`. Você constata que os padrões de consulta mudaram e agora filtram por `customer_segment`. Como adaptar a tabela?
Propostas de resposta:
A. Excluir e recriar a tabela com a nova chave
B. Executar `REPARTITION TABLE table_name BY (customer_segment)`
C. Executar um `VACUUM FULL`
D. Executar `ALTER TABLE table_name CLUSTER BY (customer_segment)` e depois um `OPTIMIZE` (Resposta correta)
Justificativa:
O Liquid Clustering permite modificar as colunas de clustering a qualquer momento via `ALTER TABLE ... CLUSTER BY`. As escritas futuras e os próximos `OPTIMIZE` aplicarão o novo agrupamento sem reescrita completa forçada imediata.
Por que as outras opções estão incorretas:
Opção A : Invalida os dados e interrompe a disponibilidade da tabela.
Módulo Microsoft Learn : Use Liquid Clustering for Delta tables
Questão 38 / 75
No Spark UI, ao analisar um estágio de processamento (*stage*) anormalmente lento, você observa que 199 das suas 200 tarefas terminam em alguns segundos, mas que uma única tarefa leva mais de 45 minutos. De qual problema se trata?
Propostas de resposta:
A. Spark Memory Leak
B. Small File Problem
C. Data Skew (Desequilíbrio/Assimetria dos dados) (Resposta correta)
D. Deadlock de rede
Justificativa:
O *Data Skew* ocorre quando uma chave de agrupamento ou de junção concentra uma quantidade desproporcional de dados em uma única partição, saturando um único executor Spark enquanto os outros permanecem inativos.
Por que as outras opções estão incorretas:
Opção B : Desaceleraria uniformemente a fase de leitura global de todas as tarefas.
Módulo Microsoft Learn : Troubleshoot and debug Spark applications
Questão 39 / 75
Você deve juntar uma tabela de fatos de 500 GB com uma tabela de dimensão de apenas 2 MB. Qual técnica do Spark permite eliminar totalmente a fase custosa de troca de dados pela rede (*shuffle*)?
Propostas de resposta:
A. Sort-Merge Join com reparticionamento
B. Broadcast Join via `df_fact.join(broadcast(df_dim), "key")` (Resposta correta)
C. Cross Join
D. Outer Join com Z-Ordering
Justificativa:
A junção por difusão (*Broadcast Join*) envia uma cópia integral da tabela pequena para cada nó executor, realizando a junção localmente sem reorganizar a tabela grande pela rede.
Por que as outras opções estão incorretas:
Opção A : O Sort-Merge Join implica um embaralhamento/troca de rede completo (*shuffle*) de ambos os lados.
Módulo Microsoft Learn : Optimize query execution in Apache Spark
Questão 40 / 75
Qual recurso do mecanismo de execução Apache Spark reavalia dinamicamente o plano de execução em tempo real durante o processamento (por exemplo, convertendo um Sort-Merge Join em Broadcast Join se o tamanho real dos dados filtrados for inferior ao limite)?
Propostas de resposta:
A. Catalyst Optimizer Estático
B. Adaptive Query Execution (AQE) (Resposta correta)
C. Auto-Scaling Engine
D. Dynamic Partition Pruning (DPP) estático
Justificativa:
O AQE (Adaptive Query Execution) analisa as estatísticas reais obtidas nas etapas de execução para reotimizar o plano físico em tempo real (coalescência de partições, tratamento de skew, conversão de junções).
Por que as outras opções estão incorretas:
Opção A : O Catalyst Optimizer clássico pré-calcula o plano antes da execução com base em estimativas.
Módulo Microsoft Learn : Optimize query execution in Apache Spark
Questão 41 / 75
Você configurou o Lakehouse Federation para consultar tabelas hospedadas em um banco de dados externo (Snowflake, PostgreSQL, SQL Server). Como você deve controlar o acesso dos seus usuários a essas tabelas descobertas?
Propostas de resposta:
A. Aplicar os privilégios GRANT diretamente no catálogo externo (foreign catalog) no Unity Catalog (Resposta correta)
B. Criar uma conexão (Connection) distinta por grupo de usuários
C. Exportar as tabelas remotas para o ADLS Gen2 e conceder acesso apenas às cópias
D. Criar uma credencial de armazenamento (storage credential) por grupo de usuários
Justificativa:
Um catálogo externo (foreign catalog) é um objeto do Unity Catalog por si só. A governança permanece, portanto, centralizada: aplicam-se os mesmos privilégios que em qualquer objeto do Unity Catalog (`GRANT USE CATALOG`, `USE SCHEMA`, `SELECT`) ao catálogo externo e aos seus esquemas. As credenciais de conexão com a origem são armazenadas no objeto *Connection* e nunca são expostas aos usuários.
Por que as outras opções estão incorretas:
Opção B : Uma conexão descreve *como* acessar a origem (host, porta, credenciais), não *quem* pode ler o quê. Multiplicar as conexões não realiza nenhum controle de acesso e aumenta a complexidade de manutenção.
Opção C : Copiar os dados contraria o próprio propósito do Lakehouse Federation (consultar sem mover os dados) e faz perder a atualidade.
Opção D : Uma storage credential serve para autenticar o acesso ao *armazenamento de objetos* em nuvem (ADLS Gen2, S3), e não para governar o acesso às tabelas federadas.
Módulo Microsoft Learn : Connect to external data sources with Lakehouse Federation
Questão 42 / 75
Um script corrompeu acidentalmente uma tabela Delta de produção ao sobrescrever seu conteúdo. Você deve desfazer essa modificação e retornar a uma versão anterior da tabela. Qual comando SQL você deve executar?
Propostas de resposta:
A. `RESTORE TABLE sales TO VERSION AS OF 5` (Resposta correta)
B. `VACUUM sales RETAIN 168 HOURS`
C. `ALTER TABLE sales SET TBLPROPERTIES ('version' = '5')`
D. `CREATE TABLE sales AS SELECT * FROM sales VERSION AS OF 5`
Justificativa:
O Delta Lake mantém um log de transações (*transaction log*) que permite a viagem no tempo (*time travel*). `RESTORE TABLE ... TO VERSION AS OF n` (ou `TO TIMESTAMP AS OF '...'`) recria o estado exato da tabela na versão indicada, *na mesma tabela*: o nome, as autorizações e as views que apontam para ela permanecem válidos.
Por que as outras opções estão incorretas:
Opção B : O `VACUUM` exclui definitivamente os arquivos de dados obsoletos; é uma operação de manutenção irreversível que, ao contrário, destrói o histórico necessário para uma restauração.
Opção C : Uma propriedade de tabela não tem nenhum efeito sobre os dados; ela não restaura nada.
Opção D : O `CREATE TABLE AS SELECT` cria uma *nova* tabela (e de qualquer forma falha se o nome já existir): perdem-se as autorizações, as restrições, o histórico e as views associadas.
Módulo Microsoft Learn : Work with Delta Lake table history
Questão 43 / 75
Você deve garantir que nenhum valor negativo possa ser gravado na coluna `price` da tabela Delta `Catalog1.Schema1.products`. A solução deve rejeitar as gravações inválidas sem modificar o código de ingestão. O que você deve fazer?
Propostas de resposta:
A. `ALTER TABLE ... ALTER COLUMN price SET NOT NULL`
B. `ALTER TABLE ... ALTER COLUMN price SET DEFAULT 0`
C. Modificar o tipo de dados de `price` para `DECIMAL(10,2)`
Uma restrição `CHECK` aplicada ao esquema da tabela Delta via `ALTER TABLE ... ADD CONSTRAINT ... CHECK (...)` valida uma condição booleana *no momento da gravação*. Toda transação que insere um valor que viola a condição é rejeitada, e isso sem tocar no código de ingestão: a restrição é aplicada pelo mecanismo, qualquer que seja o cliente (notebook, job, SQL).
Por que as outras opções estão incorretas:
Opção A : O `SET NOT NULL` proíbe apenas os valores `NULL`; um valor negativo como -99.99 continua perfeitamente aceito.
Opção B : Um valor padrão só se aplica quando nenhum valor é fornecido: ele não rejeita nada e substitui silenciosamente os valores ausentes em vez de fazer a gravação falhar.
Opção C : `DECIMAL(10,2)` restringe a precisão, mas ainda autoriza valores negativos (por exemplo, -99.99).
Módulo Microsoft Learn : Manage tables and data layouts in Delta Lake
Questão 44 / 75
Sua equipe deseja descrever o conjunto de recursos de um projeto (jobs, pipelines, notebooks, configurações) como código declarativo versionado no Git, a fim de automatizar as implantações CI/CD para vários ambientes. Qual ferramenta você deve usar?
Propostas de resposta:
A. Databricks Repos
B. Delta Live Tables
C. Unity Catalog
D. Databricks Asset Bundles (DABs) (Resposta correta)
Justificativa:
O Databricks Asset Bundles é a abordagem 'infrastructure as code' do Databricks. Um arquivo `databricks.yml` descreve de forma declarativa os jobs, pipelines, notebooks e seus parâmetros, com uma noção de *targets* (dev, staging, production). O bundle é versionado no Git e implantado pela CLI, o que torna as promoções de ambiente reproduzíveis e auditáveis.
Por que as outras opções estão incorretas:
Opção A : O Databricks Repos sincroniza notebooks e arquivos com um repositório Git remoto, mas não descreve um projeto completo nem gerencia o ciclo de vida dos jobs e pipelines por ambiente.
Opção B : O Delta Live Tables é um framework de construção de pipelines de dados, não uma ferramenta de empacotamento nem de implantação CI/CD.
Opção C : O Unity Catalog é a camada de governança dos dados (catálogos, esquemas, tabelas, autorizações), sem relação com a implantação de aplicações.
Módulo Microsoft Learn : Develop Azure Databricks automation using Databricks Asset Bundles
Questão 45 / 75
Seu projeto está configurado com Databricks Asset Bundles e define um alvo (*target*) chamado `production` em `databricks.yml`. Qual comando da Databricks CLI você deve executar para implantar o bundle nesse ambiente?
Propostas de resposta:
A. `databricks workspace import -e production`
B. `databricks bundle deploy -e production` (Resposta correta)
C. `databricks jobs submit -e production`
D. `databricks bundle validate -e production`
Justificativa:
`databricks bundle deploy -e production` implanta o conteúdo do bundle no alvo indicado pela opção `-e` (*environment*), resolvendo as variáveis e as sobreposições definidas para esse alvo em `databricks.yml`. É esse comando que cria ou atualiza os recursos (jobs, pipelines, arquivos) no workspace de destino.
Por que as outras opções estão incorretas:
Opção A : O `workspace import` apenas copia arquivos para o workspace; ele ignora a noção de bundle e de alvo.
Opção C : O `jobs submit` dispara a execução de um run, ele não implanta a definição dos recursos.
Opção D : O `bundle validate` verifica a sintaxe e a coerência da configuração sem implantar nada — útil como etapa prévia de CI, mas insuficiente para colocar em produção.
Módulo Microsoft Learn : Develop Azure Databricks automation using Databricks Asset Bundles
Questão 46 / 75
Você executa uma agregação com estado (*stateful aggregation*) em um fluxo Spark Structured Streaming e precisa definir o limite de tolerância além do qual os dados que chegam atrasados são ignorados, a fim de limitar a memória consumida pelo estado. Qual função você deve usar?
Propostas de resposta:
A. `.option("lateData", "10 minutes")`
B. `.trigger(processingTime="10 minutes")`
C. `.groupBy(window("event_time", "10 minutes"))`
D. `.withWatermark("event_time", "10 minutes")` (Resposta correta)
Justificativa:
A marca d'água (*watermark*) define até quanto atraso um dado ainda é considerado nos cálculos com estado. `withWatermark("event_time", "10 minutes")` informa ao mecanismo que os eventos cujo carimbo de data/hora é anterior em mais de 10 minutos ao máximo observado podem ser descartados, o que lhe permite limpar o estado correspondente. É a função dedicada tanto ao tratamento de dados atrasados quanto ao controle da memória do estado.
Por que as outras opções estão incorretas:
Opção A : Não existe opção `lateData` para o Structured Streaming; os dados atrasados são controlados pela marca d'água.
Opção B : `trigger` regula a *frequência* de disparo dos micro-lotes, não a tolerância ao atraso dos eventos.
Opção C : `window(...)` divide os eventos em janelas temporais, mas não define nenhum limite de tolerância: sem `withWatermark`, o estado cresce indefinidamente.
Módulo Microsoft Learn : Process streaming data with Structured Streaming
Questão 47 / 75
Você precisa agrupar os eventos de um fluxo em intervalos de tempo de tamanho fixo (janelas em cascata) ou sobrepostos (janelas deslizantes), a fim de calcular agregações por período. Qual função você deve usar?
Propostas de resposta:
A. `partitionBy()`
B. `groupByKey()`
C. `withWatermark()`
D. `window(timeColumn, windowDuration, slideDuration)` (Resposta correta)
Justificativa:
A função `window(timeColumn, windowDuration, slideDuration)` transforma uma coluna de carimbo de data/hora em janelas temporais utilizáveis em um `groupBy`. Sem `slideDuration`, obtêm-se janelas em cascata (fixas, sem sobreposição); fornecendo um `slideDuration` menor que `windowDuration`, obtêm-se janelas deslizantes que se sobrepõem e cujos eventos podem pertencer a várias janelas.
Por que as outras opções estão incorretas:
Opção A : `partitionBy` organiza o particionamento físico dos dados gravados em disco, sem noção de janela temporal.
Opção B : `groupByKey` agrupa por chave de negócio, não por intervalo de tempo.
Opção C : `withWatermark` gerencia o atraso tolerado dos dados; ela complementa o janelamento, mas não cria nenhuma janela.
Módulo Microsoft Learn : Process streaming data with Structured Streaming
Questão 48 / 75
Você executa um pipeline Lakeflow Spark Declarative Pipelines (Delta Live Tables) que alimenta tabelas de relatórios. O pipeline deve processar os novos dados disponíveis e depois parar e liberar a computação a fim de reduzir os custos. Qual modo de execução você deve configurar?
Propostas de resposta:
A. Um pipeline disparado (Triggered pipeline) (Resposta correta)
B. Um pipeline contínuo (Continuous pipeline)
C. Uma tabela de streaming (Streaming table)
D. Uma exibição materializada (Materialized view)
Justificativa:
Um pipeline disparado (*Triggered*) ingere e transforma os novos dados disponíveis o mais rápido possível, atualiza as tabelas de destino e depois interrompe a computação quando o trabalho termina: os recursos só são cobrados durante a execução. É o modo recomendado para processamentos agendados ou em lote. O modo contínuo, por sua vez, mantém o cluster ativo permanentemente para atender a uma baixa latência, ao custo de um custo bem superior.
Por que as outras opções estão incorretas:
Opção B : O modo contínuo mantém os recursos ligados permanentemente para processar os dados em fluxo quase contínuo, o que vai contra o objetivo de redução de custos.
Opção C : Uma tabela de streaming é um *tipo de objeto* do pipeline (processamento append-only), não um modo de execução.
Opção D : Uma exibição materializada também é um tipo de objeto (resultados pré-calculados e atualizados), não um modo de execução.
Módulo Microsoft Learn : Build data pipelines using Delta Live Tables
Questão 49 / 75
Um aplicativo de negócios deposita PDFs, imagens e arquivos de áudio em um diretório ADLS Gen2. Você precisa tornar esses arquivos acessíveis aos usuários do Azure Databricks ao mesmo tempo que os governa com o Unity Catalog e sem movê-los. Qual objeto do Unity Catalog você deve criar?
Propostas de resposta:
A. Uma tabela externa (External table)
B. Um volume do Unity Catalog (Volume) (Resposta correta)
C. Um local externo (External location)
D. Uma credencial de armazenamento (Storage credential)
Justificativa:
Os volumes do Unity Catalog são projetados para dados *não estruturados e semiestruturados* (PDF, imagens, áudio, JSON bruto). Um volume é criado em um esquema (`Catalog1.Schema1.Volume1`), portanto todo o modelo de privilégios do Unity Catalog (GRANT no volume, auditoria, linhagem) se aplica aos arquivos, exatamente como a uma tabela. Os arquivos permanecem em seu local: nenhuma cópia é necessária.
Por que as outras opções estão incorretas:
Opção A : Uma tabela (mesmo externa) destina-se a dados tabulares estruturados; ela é inadequada para PDFs ou imagens.
Opção C : Um local externo é um objeto de *administração de armazenamento*: ele associa uma credencial de armazenamento a um caminho. Ele não fornece aos usuários finais um ponto de acesso governado aos arquivos.
Opção D : Uma credencial de armazenamento contém apenas a identidade de acesso à conta de armazenamento; ela não referencia nenhum caminho nem nenhum diretório.
Módulo Microsoft Learn : Manage non-tabular data with Unity Catalog Volumes
Questão 50 / 75
Você cria um volume do Unity Catalog em um esquema usando o comando `CREATE VOLUME Catalog1.Schema1.Volume1`. Que tipo de volume você obtém, e qual é o comportamento dos arquivos se o volume for excluído com `DROP VOLUME`?
Propostas de resposta:
A. Um volume externo, cujos arquivos são preservados no armazenamento durante um `DROP VOLUME`
B. Um volume gerenciado, cujos arquivos são excluídos do armazenamento durante um `DROP VOLUME` (Resposta correta)
C. Um volume gerenciado, cujos arquivos são preservados no armazenamento durante um `DROP VOLUME`
D. Um volume externo, cujos arquivos são excluídos do armazenamento durante um `DROP VOLUME`
Justificativa:
Sem a cláusula `LOCATION`, o volume é *gerenciado*: o Unity Catalog usa o local de armazenamento padrão associado ao esquema. Como em uma tabela gerenciada, o objeto do Unity Catalog detém o ciclo de vida dos dados — portanto um `DROP VOLUME` exclui os arquivos subjacentes. Por outro lado, um volume *externo* é criado com uma cláusula `LOCATION` apontando para um caminho ADLS Gen2: seus arquivos sobrevivem a um `DROP VOLUME`, pois o Unity Catalog gerencia apenas a referência a eles.
Por que as outras opções estão incorretas:
Opção A : Ela descreve corretamente o comportamento de um volume externo, mas não é o volume criado aqui: a ausência da cláusula `LOCATION` faz dele um volume gerenciado.
Opção C : Um volume gerenciado não preserva os arquivos quando é excluído — é precisamente a diferença em relação a um volume externo.
Opção D : Ela inverte o comportamento real: um volume externo preserva os arquivos no armazenamento.
Módulo Microsoft Learn : Manage non-tabular data with Unity Catalog Volumes
Questão 51 / 75
Sua empresa precisa unificar a governança de dados estruturados e não estruturados no Azure Databricks. Você deve aplicar regras de segurança no nível das linhas e das colunas ao mesmo tempo que garante a rastreabilidade (lineage) global no nível da empresa. Qual componente do Azure Databricks é diretamente responsável pela governança no nível dos objetos de dados, e qual serviço da Microsoft complementa essa visão no nível da empresa?
Propostas de resposta:
A. ACLs do Azure Active Directory e Azure Monitor
B. Databricks Repos e Azure Data Factory
C. Unity Catalog e Microsoft Purview (Resposta correta)
D. Controles de Acesso do DBFS e Log Analytics
Justificativa:
O Unity Catalog gerencia a governança refinada (segurança no nível das linhas e das colunas, controle de acesso) diretamente no Lakehouse Databricks. O Microsoft Purview integra-se ao Unity Catalog para oferecer um catálogo corporativo global e um acompanhamento da linhagem de dados em todos os serviços de nuvem.
Por que as outras opções estão incorretas:
Opção A : As ACLs do Azure AD aplicam-se no nível do workspace e não aos objetos de dados; o Azure Monitor é um serviço de monitoramento, não de governança de dados.
Opção B : O Databricks Repos gerencia o versionamento do código e o Azure Data Factory a orquestração: nenhum dos dois cataloga os dados nem aplica segurança no nível de linha e coluna.
Opção D : Os controles de acesso do DBFS são um mecanismo legado de sistema de arquivos, incompatível com a governança do Unity Catalog por linha e por coluna; o Log Analytics é uma ferramenta de registro em log.
Módulo Microsoft Learn : Explore Azure Databricks
Questão 52 / 75
No âmbito de um projeto de engenharia de dados no Azure Databricks, você precisa identificar o tipo de carga de trabalho (workload) apropriado para executar transformações ETL recorrentes de forma automatizada. Qual recurso você deve priorizar?
Propostas de resposta:
A. Databricks SQL Warehouse Serverless
B. Databricks Interactive Notebooks
C. Databricks AutoML
D. Lakeflow Jobs (Workflows) (Resposta correta)
Justificativa:
O Lakeflow Jobs (Workflows) é o orquestrador nativo do Azure Databricks, projetado para agendar, executar e monitorar pipelines de dados automatizados e recorrentes (ETL/ELT), com gerenciamento de dependências, recuperação em caso de falha e notificações.
Por que as outras opções estão incorretas:
Opção A : Os SQL Warehouses Serverless são otimizados para consultas SQL e BI interativas, não para a orquestração agendada de transformações.
Opção B : Os notebooks interativos são executados manualmente, célula por célula: eles não oferecem agendamento nem automação confiável.
Opção C : O AutoML gera e treina modelos de machine learning; ele não produz pipelines ETL.
Módulo Microsoft Learn : Explore Azure Databricks
Questão 53 / 75
Uma equipe de analistas deseja realizar consultas ad-hoc rápidas em tabelas Delta com um tempo de inicialização mínimo e gerenciamento automático da capacidade sem gerenciar clusters. Que tipo de carga de trabalho você deve lhes atribuir?
Propostas de resposta:
A. Classic All-Purpose Cluster
B. Automated Job Cluster
C. Single-node Compute
D. Databricks SQL Warehouse (Serverless) (Resposta correta)
Justificativa:
Os SQL Warehouses Serverless são otimizados para consultas BI e SQL interativas. Eles iniciam em alguns segundos e ajustam automaticamente sua capacidade (escalabilidade) sem nenhum gerenciamento manual de clusters.
Por que as outras opções estão incorretas:
Opção A : Um cluster Classic All-Purpose leva vários minutos para iniciar e exige gerenciamento manual do dimensionamento e da escalabilidade.
Opção B : Um cluster de job automatizado é projetado para executar processamentos agendados; ele não se destina a consultas ad-hoc interativas e não se presta ao compartilhamento entre analistas.
Opção C : Uma computação de nó único não oferece nem o gerenciamento automático de capacidade nem as otimizações de SQL/BI esperadas para esse caso de uso.
Módulo Microsoft Learn : Explore Azure Databricks
Questão 54 / 75
Você configura um novo workspace do Azure Databricks. Para ativar a governança centralizada baseada no Unity Catalog, qual etapa preliminar é absolutamente obrigatória no nível da estrutura de administração?
Propostas de resposta:
A. Criar um cluster All-Purpose com a versão Databricks Runtime Light.
B. Montar uma conta de armazenamento Azure Blob com o DBFS (Databricks File System).
C. Associar o workspace a um Metastore do Unity Catalog criado no nível da conta (Account level). (Resposta correta)
D. Ativar o modo Single-User em todos os clusters do workspace.
Justificativa:
O Unity Catalog exige que um Metastore seja criado no nível da conta do Azure Databricks (Account Level) e depois associado aos diferentes Workspaces envolvidos. É essa associação que vincula o workspace ao catálogo central e torna possível a governança transversal.
Por que as outras opções estão incorretas:
Opção A : A escolha da versão do Databricks Runtime não tem relação com a ativação da governança; a edição "Light" não existe mais.
Opção B : A montagem de um armazenamento via DBFS é uma abordagem legada que não fornece nem catálogo central nem controle de acesso governado.
Opção D : O modo de acesso Single-User diz respeito ao isolamento de um cluster, não à vinculação do workspace a um metastore do Unity Catalog.
Módulo Microsoft Learn : Explore Azure Databricks
Questão 55 / 75
Ao explorar os recursos do Azure Databricks, qual é o método recomendado para ingerir grandes volumes de arquivos CSV ou JSON armazenados no Azure Data Lake Storage Gen2 com um mínimo de código personalizado e de forma idempotente?
Propostas de resposta:
A. Usar o comando SQL COPY INTO. (Resposta correta)
B. Executar um laço spark.read personalizado em Python.
C. Exportar os arquivos via Azure Data Factory no formato Parquet e depois importá-los.
D. Carregar manualmente os arquivos pela interface gráfica do workspace.
Justificativa:
O comando SQL COPY INTO permite ingerir de forma eficiente e idempotente arquivos de um armazenamento de objetos para uma tabela Delta Lake: os arquivos já processados são rastreados e não são duplicados nas execuções seguintes, com um mínimo de código.
Por que as outras opções estão incorretas:
Opção B : Um laço spark.read caseiro não mantém nenhum registro dos arquivos já ingeridos: ele não é idempotente sem desenvolvimento adicional de rastreamento de estado.
Opção C : A passagem intermediária pelo Azure Data Factory e uma conversão para Parquet adiciona uma cópia e uma etapa desnecessárias.
Opção D : O upload manual não é automatizável, nem industrializável, nem idempotente.
Módulo Microsoft Learn : Explore Azure Databricks
Questão 56 / 75
A arquitetura do Azure Databricks baseia-se na separação entre o Plano de Controle (Control Plane) e o Plano de Computação (Compute Plane). Qual das afirmações a seguir descreve corretamente a localização e a responsabilidade desses dois planos em uma implantação clássica?
Propostas de resposta:
A. O plano de controle (hospedado pela Microsoft) gerencia a interface, os notebooks e o gerenciamento dos jobs, enquanto o plano de computação (executado na VNet do cliente ou em um plano gerenciado) executa os clusters Spark. (Resposta correta)
B. O plano de controle é executado na sub-rede virtual (VNet) do cliente, enquanto o plano de computação é hospedado na sub-rede gerenciada pela Microsoft.
C. Os dois planos são executados inteiramente na conta de armazenamento Azure Data Lake do cliente.
D. O plano de computação gerencia apenas os metadados e as chaves de criptografia, enquanto o plano de controle executa os executores Spark.
Justificativa:
O Control Plane é hospedado na assinatura Microsoft/Databricks e é responsável pela interface web, pelo gerenciamento de usuários, pelos notebooks e pela orquestração dos jobs. O Compute Plane executa os processamentos Spark na infraestrutura do cliente (VNet injetada) ou em um plano de computação gerenciado.
Por que as outras opções estão incorretas:
Opção B : Ela inverte os dois planos: o plano de controle não é hospedado na VNet do cliente.
Opção C : Nenhum dos dois planos é executado na conta de armazenamento do cliente; esta hospeda apenas os dados.
Opção D : Ela inverte as responsabilidades: é o plano de controle que gerencia os metadados, e o plano de computação que executa o Spark.
Módulo Microsoft Learn : Understand Azure Databricks architecture
Questão 57 / 75
Qual é a diferença fundamental entre a arquitetura de computação clássica (Classic Compute) e a arquitetura sem servidor (Serverless Compute) no Azure Databricks?
Propostas de resposta:
A. O Classic Compute não usa máquinas virtuais do Azure, enquanto o Serverless usa.
B. O Classic Compute é reservado exclusivamente ao Databricks SQL, enquanto o Serverless é reservado à ciência de dados.
C. O Serverless Compute executa os recursos de computação em um plano gerenciado pela Databricks com inicialização quase instantânea, sem que o cliente precise provisionar VMs em sua própria assinatura do Azure. (Resposta correta)
D. O Serverless Compute exige a ativação manual do mecanismo de auto-scaling em cada cluster.
Justificativa:
No modo Serverless, a computação é executada em um plano gerenciado pela Databricks: os recursos ficam disponíveis quase instantaneamente, sem provisionamento nem dimensionamento de VMs na assinatura do Azure do cliente.
Por que as outras opções estão incorretas:
Opção A : O Classic Compute é executado em máquinas virtuais do Azure provisionadas na assinatura do cliente; a afirmação é, portanto, o inverso da realidade.
Opção B : Nenhum dos dois modos é reservado a um domínio: tanto o SQL quanto a ciência de dados podem ser executados nos dois.
Opção D : A computação Serverless não exige nenhum provisionamento nem ajuste manual de auto-scaling: a capacidade é gerenciada automaticamente.
Módulo Microsoft Learn : Understand Azure Databricks architecture
Questão 58 / 75
No âmbito da organização dos dados com o Unity Catalog, qual é a distinção principal entre o armazenamento gerenciado (Managed Storage) de um catálogo ou de um esquema e o armazenamento externo (External Locations)?
Propostas de resposta:
A. O armazenamento gerenciado armazena os dados no disco local do nó Driver Spark.
B. O armazenamento externo não oferece suporte ao formato Delta Lake.
C. O armazenamento gerenciado é configurado no nível do Metastore, do Catálogo ou do Esquema para hospedar automaticamente as tabelas gerenciadas, sem especificar um caminho LOCATION. (Resposta correta)
D. O armazenamento gerenciado exclui todos os dados da assinatura do Azure se o workspace for excluído.
Justificativa:
O Managed Storage define um local padrão no armazenamento em nuvem para as tabelas gerenciadas: o usuário não precisa informar um caminho de acesso ao executar um CREATE TABLE. Já os External Locations referenciam explicitamente um caminho ADLS Gen2 existente cujo ciclo de vida dos arquivos permanece fora do controle do Unity Catalog.
Por que as outras opções estão incorretas:
Opção A : O armazenamento gerenciado reside no armazenamento em nuvem (ADLS Gen2), nunca no disco local do nó Driver.
Opção B : O armazenamento externo oferece total suporte ao formato Delta Lake: é inclusive o formato recomendado.
Opção D : O metastore e o local de armazenamento gerenciado são definidos no nível da conta, independentemente do ciclo de vida de um determinado workspace.
Módulo Microsoft Learn : Understand Azure Databricks architecture
Questão 59 / 75
Você precisa armazenar dados confidenciais em um ambiente Azure Databricks e garantir que os dados em repouso sejam criptografados com chaves gerenciadas pelo cliente (Customer-Managed Keys - CMK). Em quais elementos da arquitetura você pode aplicar chaves CMK?
Propostas de resposta:
A. Somente nos discos locais dos workers Spark.
B. No armazenamento do plano de controle (armazenamento DBFS raiz e serviços gerenciados) e nos discos de armazenamento do plano de computação. (Resposta correta)
C. Somente nas consultas SQL transmitidas ao banco de dados interno.
D. As chaves CMK não são suportadas na versão Azure do Databricks.
Justificativa:
O Azure Databricks permite trazer suas próprias chaves (CMK) para criptografar tanto os serviços gerenciados do Control Plane (notebooks, metadados, armazenamento DBFS raiz) quanto os discos de armazenamento do Compute Plane.
Por que as outras opções estão incorretas:
Opção A : A criptografia por CMK não se limita aos discos dos workers: ela abrange também o armazenamento dos serviços gerenciados.
Opção C : A criptografia CMK protege os dados em repouso no armazenamento e nos discos; ela não se aplica ao trânsito das consultas SQL.
Opção D : As chaves CMK são sim suportadas no Azure Databricks, por meio do Azure Key Vault.
Módulo Microsoft Learn : Understand Azure Databricks architecture
Questão 60 / 75
Na hierarquia de contas do Azure Databricks (Account Hierarchy), qual é o papel do nível "Account Admin" em relação ao papel de "Workspace Admin"?
Propostas de resposta:
A. O Account Admin gerencia os notebooks e as bibliotecas no nível de um único workspace.
B. O Workspace Admin pode criar metastores do Unity Catalog transversais sem autorização prévia.
C. O Account Admin é um papel herdado automaticamente da função Azure Reader da assinatura.
D. O Account Admin gerencia a criação dos metastores do Unity Catalog, a criação dos workspaces e as identidades no nível da conta global. (Resposta correta)
Justificativa:
O Account Admin opera no nível global da organização: ele cria os workspaces, gerencia a cobrança global e provisiona os metastores do Unity Catalog. O Workspace Admin, por sua vez, administra apenas seu espaço de trabalho local.
Por que as outras opções estão incorretas:
Opção A : O gerenciamento dos notebooks e das bibliotecas de um workspace compete ao Workspace Admin, não ao Account Admin.
Opção B : Somente um Account Admin pode criar e atribuir metastores do Unity Catalog; um Workspace Admin não tem esse privilégio.
Opção C : Os papéis do Azure Databricks não são herdados da função RBAC Azure Reader: eles são atribuídos explicitamente no console de conta.
Módulo Microsoft Learn : Understand Azure Databricks architecture
Questão 61 / 75
Você deve integrar um Lakehouse do Azure Databricks ao Microsoft Fabric para que as equipes de análise no Fabric possam consultar as tabelas Delta do Databricks sem duplicar fisicamente os arquivos de dados. Qual recurso você deve usar?
Propostas de resposta:
A. Atalhos do OneLake (OneLake Shortcuts) apontando para o Azure Data Lake Storage Gen2 (Resposta correta)
B. Azure Data Factory Copy Activity em modo binário
C. Exportar as tabelas no formato CSV para um servidor FTP
D. Conector JDBC/ODBC direto no cluster All-Purpose
Justificativa:
Os atalhos do OneLake no Microsoft Fabric permitem vincular diretamente pastas ou tabelas hospedadas no ADLS Gen2 (no formato Delta) sem cópia física dos dados: o Fabric lê os arquivos onde eles estão.
Por que as outras opções estão incorretas:
Opção B : Uma atividade de cópia do ADF, mesmo em modo binário, duplica fisicamente os dados — o que a instrução exclui explicitamente.
Opção C : A exportação CSV para FTP duplica os dados e abandona o formato Delta, bem como o esquema.
Opção D : Um conector JDBC/ODBC exige um cluster ativo e não se integra ao modelo de armazenamento unificado OneLake do Fabric.
Módulo Microsoft Learn : Understand Azure Databricks integrations
Questão 62 / 75
Um desenvolvedor que deseja usar o Visual Studio Code em sua máquina local para desenvolver, testar e depurar código PySpark executado diretamente em um cluster remoto do Azure Databricks deve usar:
Propostas de resposta:
A. A extensão Azure Databricks para VS Code utilizando o Databricks Connect (Resposta correta)
B. Somente a Databricks CLI v0.12
C. Azure DevOps Pipeline com agentes auto-hospedados
D. A integração Git nativa sem conexão ao cluster
Justificativa:
A extensão Databricks para VS Code baseia-se no Databricks Connect (gRPC) para redirecionar a execução do código Spark escrito localmente para um cluster remoto do Databricks, o que permite o desenvolvimento, o teste e a depuração passo a passo a partir da IDE.
Por que as outras opções estão incorretas:
Opção B : A CLI do Databricks serve para administração e implantação automatizada; ela não executa código PySpark e não oferece depuração interativa.
Opção C : Um pipeline do Azure DevOps com agentes auto-hospedados pertence à integração contínua: ele executa tarefas automatizadas, não depuração local.
Opção D : A integração Git versiona o código no workspace, mas não estabelece nenhuma conexão de execução com um cluster remoto.
Módulo Microsoft Learn : Understand Azure Databricks integrations
Questão 63 / 75
Para conectar o Power BI a um Lakehouse do Azure Databricks com o melhor desempenho de tempo de resposta interativo e o suporte a grandes volumes de dados sem importar fisicamente os dados para o Power BI, qual modo de conexão você deve priorizar com os SQL Warehouses?
Propostas de resposta:
A. Import Mode
B. Web API REST
C. DirectQuery (ou Direct Lake dependendo da arquitetura) (Resposta correta)
D. Dynamic File Stream
Justificativa:
O DirectQuery permite que o Power BI delegue a execução das consultas analíticas diretamente ao SQL Warehouse do Azure Databricks, sem carregar os dados na memória do lado do Power BI: é o modo adequado para grandes volumes e para dados em tempo quase real.
Por que as outras opções estão incorretas:
Opção A : O modo Import copia os dados para o modelo do Power BI, o que contradiz a exigência de ausência de importação física e torna as atualizações mais pesadas.
Opção B : Uma Web API REST não é um modo de conexão analítica nativo do Power BI com o Databricks.
Opção D : O modo "Dynamic File Stream" não existe como modo de conexão do Power BI.
Módulo Microsoft Learn : Understand Azure Databricks integrations
Questão 64 / 75
Você deseja governar todo o patrimônio de dados (Azure Databricks, Azure SQL Database, Microsoft Fabric) a partir de um único catálogo corporativo. Como o Azure Databricks se integra ao Microsoft Purview?
Propostas de resposta:
A. O Microsoft Purview substitui completamente o catálogo Unity Catalog.
B. É preciso escrever scripts Python personalizados executados todas as noites para extrair o esquema.
C. O conector Unity Catalog para Microsoft Purview sincroniza automaticamente os metadados, os esquemas e a linhagem (lineage) com o Purview. (Resposta correta)
D. A integração só é possível enviando arquivos Excel de dicionário de dados.
Justificativa:
O conector nativo Microsoft Purview - Unity Catalog permite coletar automaticamente a estrutura dos dados e a rastreabilidade (lineage) geradas no Azure Databricks, e expô-las no catálogo corporativo ao lado das demais fontes.
Por que as outras opções estão incorretas:
Opção A : O Purview complementa o Unity Catalog no nível da empresa, não o substitui: o Unity Catalog continua sendo o mecanismo de governança interno ao Lakehouse.
Opção B : Scripts Python noturnos são inúteis, pois o conector nativo garante a sincronização dos metadados e da linhagem.
Opção D : O envio de arquivos Excel não oferece automação, nem linhagem, nem sincronização contínua.
Módulo Microsoft Learn : Understand Azure Databricks integrations
Questão 65 / 75
Qual solução permite orquestrar um pipeline de dados complexo, combinando atividades do Azure Data Factory, notebooks do Azure Databricks e atualizações de modelos do Power BI, mantendo a rastreabilidade?
Propostas de resposta:
A. Usar apenas scripts Bash iniciados via SSH no nó Driver do Spark.
B. Usar somente Power Automate Webhooks.
C. Usar Databricks Connect a partir de um navegador web.
D. Usar Azure Data Factory (ou Synapse Pipelines) com as atividades Azure Databricks Notebook / Job. (Resposta correta)
Justificativa:
O Azure Data Factory possui atividades nativas do Databricks (Notebook, Jar, Python) que permitem integrar o Databricks a orquestrações híbridas corporativas, com gerenciamento de dependências, monitoramento centralizado e rastreabilidade de ponta a ponta.
Por que as outras opções estão incorretas:
Opção A : Scripts Bash iniciados via SSH não oferecem orquestração, nem dependências, nem histórico de execução utilizável.
Opção B : O Power Automate é uma ferramenta de automação de fluxos de negócio, não um orquestrador de pipelines de dados.
Opção C : O Databricks Connect é uma ferramenta de desenvolvimento a partir de uma IDE; ele não orquestra pipelines.
Módulo Microsoft Learn : Understand Azure Databricks integrations
Questão 66 / 75
Você deve configurar um cluster de processamento em lote (batch) noturno muito crítico, cuja falha de execução impactaria a produção. Como você deve configurar a estratégia de instâncias (Instance Types) para otimizar os custos e, ao mesmo tempo, garantir a estabilidade do job?
Propostas de resposta:
A. Usar instâncias Spot para o nó Driver e para todos os nós Worker.
B. Usar uma instância On-Demand para o nó Driver e instâncias On-Demand (ou uma combinação controlada) para os nós Worker. (Resposta correta)
C. Usar um cluster Single-Node com preempção habilitada.
D. Não usar um cluster de job, mas apenas um cluster All-Purpose compartilhado.
Justificativa:
O nó Driver orquestra o job Spark: se ele for interrompido — o que pode acontecer com as instâncias Spot — todo o job falha. O Driver deve, portanto, sempre se basear em uma instância On-Demand para processamentos críticos, ficando as instâncias Spot reservadas, com parcimônia, aos workers.
Por que as outras opções estão incorretas:
Opção A : Colocar o Driver em uma instância Spot expõe o job inteiro a uma interrupção por motivo de capacidade do Azure.
Opção C : Um cluster Single-Node elimina toda a distribuição do processamento e a preempção aumenta ainda mais o risco de interrupção.
Opção D : Um cluster All-Purpose compartilhado custa mais caro em DBU e não isola os recursos do job; recomenda-se um cluster de job dedicado.
Módulo Microsoft Learn : Configure and manage compute in Azure Databricks
Questão 67 / 75
Qual é a regra quanto à cobrança das unidades Databricks (DBU) ao usar um Instance Pool (pool de instâncias) contendo instâncias em espera (idle)?
Propostas de resposta:
A. O Azure Databricks cobra as DBU completas mesmo se as instâncias do pool estiverem inativas.
B. O Azure Databricks NÃO cobra DBU pelas instâncias inativas de um pool, mas os custos das VMs do provedor de nuvem (Azure) continuam a se aplicar. (Resposta correta)
C. As instâncias inativas de um pool são totalmente gratuitas (nenhum custo do Azure nem DBU).
D. Os pools de instâncias só podem ser usados com o compute Serverless.
Justificativa:
Enquanto uma VM está em espera em um Instance Pool (idle), o Databricks não cobra nenhuma DBU. Por outro lado, como a VM está alocada no Azure, o custo padrão de infraestrutura do Azure continua devido: é preciso, portanto, dimensionar o pool da forma mais justa possível.
Por que as outras opções estão incorretas:
Opção A : Nenhuma DBU é cobrada enquanto a instância do pool não executa carga de trabalho do Databricks.
Opção C : As instâncias permanecem provisionadas no Azure: os custos de VM continuam a correr mesmo sem DBU.
Opção D : Os Instance Pools são usados com o compute clássico; eles não têm relação com o compute Serverless.
Módulo Microsoft Learn : Configure and manage compute in Azure Databricks
Questão 68 / 75
Você deve compartilhar um cluster interativo entre vários cientistas de dados. Para garantir que cada usuário não possa acessar os dados de outros usuários não autorizados e respeitar a governança do Unity Catalog, qual modo de acesso ao cluster (Access Mode) você deve selecionar?
Propostas de resposta:
A. Shared (Isolation Shared) (Resposta correta)
B. Single User
C. No Isolation Allowed
D. Legacy Passthrough
Justificativa:
O modo de acesso "Shared" oferece um isolamento multiusuário seguro: ele permite executar consultas SQL e Python aplicando os controles de acesso do Unity Catalog, com cada usuário vendo apenas os dados aos quais está autorizado.
Por que as outras opções estão incorretas:
Opção B : O modo Single User reserva o cluster a um único usuário: ele não atende à exigência de compartilhamento.
Opção C : Um modo sem isolamento multiusuário não garante nenhuma separação dos acessos aos dados entre usuários.
Opção D : O modo herdado Passthrough contorna os controles de governança do Unity Catalog e não oferece o isolamento desejado.
Módulo Microsoft Learn : Configure and manage compute in Azure Databricks
Questão 69 / 75
Um trabalho Spark volumoso falha com frequência devido a problemas de memória no Driver (Out Of Memory - OOM). Qual é a melhor ação corretiva em relação à configuração do cluster?
Propostas de resposta:
A. Aumentar o número de nós Worker.
B. Habilitar apenas o auto-scaling.
C. Passar o cluster para o modo Single-Node.
D. Selecionar um tipo de instância com capacidade de memória (RAM) mais alta para o nó Driver. (Resposta correta)
Justificativa:
Os erros OOM do lado do Driver geralmente ocorrem durante operações de coleta de dados para o driver (por exemplo, .collect()) ou durante a manipulação de grandes estruturas na memória. Adicionar workers não muda nada: é preciso escolher um tipo de VM que ofereça mais RAM para o nó Driver.
Por que as outras opções estão incorretas:
Opção A : O número de workers aumenta a capacidade de processamento distribuído, não a memória disponível no Driver.
Opção B : O auto-scaling ajusta o número de workers; ele não aumenta a RAM do nó Driver.
Opção C : O modo Single-Node concentra driver e workers em uma única máquina e não resolve a falta de memória do Driver.
Módulo Microsoft Learn : Configure and manage compute in Azure Databricks
Questão 70 / 75
Qual é o método recomendado para instalar bibliotecas Python específicas de uma tarefa sem impactar os outros usuários de um cluster compartilhado no Azure Databricks?
Propostas de resposta:
A. Usar bibliotecas incluídas no nível do notebook via %pip install <library_name>. (Resposta correta)
B. Instalar a biblioteca no nível global do cluster pela interface Compute.
C. Modificar a imagem base da máquina virtual do driver via SSH.
D. Colocar o arquivo .whl diretamente na raiz do DBFS /dbfs/databricks/.
Justificativa:
O comando %pip install instala as dependências no ambiente virtual isolado da sessão do notebook atual. As versões instaladas ficam, portanto, locais a essa sessão, o que evita qualquer conflito com os outros usuários de um cluster compartilhado.
Por que as outras opções estão incorretas:
Opção B : Uma instalação no nível do cluster se aplica a todos os usuários do cluster compartilhado e pode provocar conflitos de versões.
Opção C : Modificar a imagem base da VM não é uma prática suportada nem uma operação persistente, e afeta o conjunto dos usuários.
Opção D : Colocar um arquivo .whl no DBFS não o instala no ambiente Python do notebook: é preciso depois instalá-lo explicitamente.
Módulo Microsoft Learn : Configure and manage compute in Azure Databricks
Questão 71 / 75
No Unity Catalog, qual é a estrutura exata do namespace de três níveis obrigatório para referenciar um objeto de dados (como uma tabela ou uma view) em uma consulta SQL?
Propostas de resposta:
A. workspace.schema.table
B. database.table.column
C. catalog.schema.object (ex.: catalog.schema.table) (Resposta correta)
D. metastore.catalog.table
Justificativa:
O Unity Catalog usa um namespace de três níveis estrito: catalog.schema.table (ou view, ou volume). Esse namespace é a pedra angular da governança: os privilégios podem ser concedidos em cada um desses níveis.
Por que as outras opções estão incorretas:
Opção A : O workspace não é o primeiro nível do namespace do Unity Catalog; o catálogo é.
Opção B : Essa notação mistura um objeto (tabela) e um atributo (coluna): uma coluna não faz parte do namespace dos objetos.
Opção D : O metastore é um contêiner de administração no nível da conta; ele não aparece no caminho de três níveis usado nas consultas.
Módulo Microsoft Learn : Manage database objects with Unity Catalog
Questão 72 / 75
Qual é a diferença fundamental entre uma Tabela Gerenciada (Managed Table) e uma Tabela Externa (External Table) ao executar o comando DROP TABLE no Unity Catalog?
Propostas de resposta:
A. Para uma tabela gerenciada, apenas os metadados são excluídos; para uma tabela externa, tudo é excluído.
B. Para uma tabela gerenciada, os metadados E os arquivos de dados físicos subjacentes são excluídos. Para uma tabela externa, apenas os metadados são excluídos. (Resposta correta)
C. As tabelas externas não podem ser excluídas via SQL.
D. Não há nenhuma diferença de comportamento durante o DROP TABLE.
Justificativa:
Excluir uma tabela gerenciada exclui a definição no metastore E a pasta de armazenamento físico. Excluir uma tabela externa exclui a definição no catálogo, mas mantém os arquivos brutos intactos no armazenamento: o Unity Catalog gerencia apenas a referência a eles.
Por que as outras opções estão incorretas:
Opção A : Ela inverte o comportamento real dos dois tipos de tabelas.
Opção C : As tabelas externas são perfeitamente excluídas via SQL; apenas seu dado físico é preservado.
Opção D : O comportamento difere precisamente no ponto do ciclo de vida dos arquivos de dados.
Módulo Microsoft Learn : Manage database objects with Unity Catalog
Questão 73 / 75
Você deve consultar tabelas hospedadas em um banco de dados PostgreSQL externo diretamente do Azure Databricks sem realizar ETL prévio nem duplicar os dados. Qual recurso do Unity Catalog você deve usar?
Propostas de resposta:
A. Um Volume Externo (External Volume)
B. Um Catálogo Externo (Foreign Catalog) via Lakehouse Federation (Resposta correta)
C. Um compartilhamento Delta Sharing
D. Uma View Materializada (Materialized View)
Justificativa:
O Lakehouse Federation permite configurar "Foreign Catalogs" para executar consultas federadas diretamente em SGBDs remotos (PostgreSQL, Snowflake, SQL Server etc.), aproveitando a governança e o namespace do Unity Catalog, sem cópia dos dados.
Por que as outras opções estão incorretas:
Opção A : Um volume armazena e governa arquivos não estruturados: ele não federa o acesso a um banco de dados relacional externo.
Opção C : O Delta Sharing compartilha dados Delta entre organizações ou consumidores; ele não fornece acesso federado a um SGBD de terceiros.
Opção D : Uma view materializada pré-calcula e armazena o resultado de uma consulta: isso constitui uma duplicação dos dados, excluída pela instrução.
Módulo Microsoft Learn : Manage database objects with Unity Catalog
Questão 74 / 75
No Unity Catalog, qual objeto você deve usar para armazenar, gerenciar e governar o acesso a dados não estruturados (imagens, arquivos de áudio, PDFs, arquivos de inspeção)?
Propostas de resposta:
A. External Table
B. Streaming Table
C. Volume (Managed ou External Volume) (Resposta correta)
D. Delta Lake Index
Justificativa:
Os Volumes são objetos do Unity Catalog especialmente projetados para governar e dar acesso a arquivos não estruturados (imagens, PDFs, CSVs brutos, arquivos de áudio etc.), com os mesmos mecanismos de privilégios e de linhagem das tabelas.
Por que as outras opções estão incorretas:
Opção A : Uma tabela externa é projetada para dados tabulares estruturados, não para arquivos arbitrários.
Opção B : Uma Streaming Table destina-se à ingestão contínua de dados tabulares, não ao armazenamento de arquivos não estruturados.
Opção D : Um índice Delta Lake é uma estrutura de otimização das leituras dentro de uma tabela; não é um objeto de governança de arquivos.
Módulo Microsoft Learn : Manage database objects with Unity Catalog
Questão 75 / 75
No contexto do uso dos recursos de IA e de Business Intelligence do Azure Databricks, para que serve o AI/BI Genie?
Propostas de resposta:
A. Para gerar automaticamente pipelines ETL em PySpark a partir de esquemas JSON.
B. Para criptografar as colunas que contêm PII (dados pessoais) no Delta Lake.
C. Para substituir o otimizador de consultas Catalyst no Apache Spark.
D. Para fornecer uma interface conversacional baseada em IA que permite aos usuários de negócio fazer perguntas em linguagem natural e obter respostas analíticas precisas sobre os dados do Lakehouse. (Resposta correta)
Justificativa:
O AI/BI Genie é um assistente conversacional baseado em IA que interpreta as perguntas em linguagem natural formuladas por usuários não técnicos e as traduz em consultas SQL executadas no Lakehouse, respeitando os direitos do usuário no Unity Catalog.
Por que as outras opções estão incorretas:
Opção A : A geração de pipelines ETL não faz parte do escopo do Genie, que se limita à consulta analítica em linguagem natural.
Opção B : O mascaramento e a criptografia de dados pessoais são responsabilidade das column masks e das funções de mascaramento, não do Genie.
Opção C : O Genie produz SQL destinado ao Catalyst; ele não substitui, em nenhum caso, o otimizador de consultas do Spark.
Módulo Microsoft Learn : Manage database objects with Unity Catalog