Selo de estado:
Preview(teto atual do produto) · Curso ACD-220 — Pipelines e medalhão Bronze/Silver/Gold · Aula 6 de 12 · Atualizado em 2026-10-04.
Objetivo#
Ao final desta aula você vai configurar partição/cluster e marcar PII — deixar a Bronze barata de consultar e o dado pessoal protegido, sem perder uma linha do cru.
Vídeo#
Identificador no manifesto: acd-220-06-bronze-camada-crua · duração-alvo 7 min · tela do produto: /sources.
Roteiro de gravação (5 capítulos):
| # | Minutagem-alvo | Capítulo | Tela do produto |
|---|---|---|---|
| 1 | 0:00–0:40 | Abertura: título + selo. O princípio da camada: nada é descartado na Bronze. | /sources |
| 2 | 0:40–2:10 | Sub-seção Particionamento e colunas técnicas: Coluna de partição (as de data marcadas "— data, ideal"). | /sources |
| 3 | 2:10–3:40 | Clusterização (até 4 colunas): a ordem em que você marca importa; chips cinzas de tipo não clusterizável. | /sources |
| 4 | 3:40–5:30 | Colunas técnicas de linhagem (_arquivo_origem, _ingestao_em) e a sub-seção Colunas PII (anonimizadas) com as sugeridas. | /sources |
| 5 | 5:30–7:00 | Datasets por workspace e o profiling seguro (PII vira •••); encerramento com o "faça você mesmo". | /dados |
Conteúdo#
O cru nunca se perde
A Bronze recebe cada linha da origem verbatim: como texto, sem conversão, com carimbos de auditoria, garantindo o número de campos (faltante entra como ""). Nenhuma linha é descartada na Bronze — nem a que vai reprovar na limpeza. É a sua retenção do dado original, e é o que permite reprocessar sem voltar à origem.
Onde fica cada carimbo
Dois conjuntos de colunas técnicas convivem, e vale não confundir:
| Coluna | De onde vem | Para que serve |
|---|---|---|
_ingest_at, _source, _row | Carimbos da ingestão verbatim na implementação de referência | Auditoria da linha: quando chegou, de onde, qual linha do arquivo |
_arquivo_origem | Caixa "Adicionar coluna com o nome do arquivo de origem" (opcional) | Linhagem: de qual arquivo cada linha veio — útil principalmente em fontes de arquivo |
_ingestao_em | Caixa "Adicionar data/hora de inclusão" (ligada por padrão) | Linhagem: o momento da carga. Boa prática; deixe ligada |
Partição: a decisão que mais barateia consulta
Na sub-seção Particionamento e colunas técnicas, o campo Coluna de partição lista todas as colunas com o tipo ao lado, e as de data/timestamp vêm marcadas "— data, ideal". A opção padrão é "— sem partição —". O texto da tela diz o motivo: "particionar por uma coluna de data deixa as consultas mais rápidas e baratas (lê só as partições necessárias)". Como o custo deriva dos bytes lidos, partição é a alavanca de FinOps mais direta que você tem na Bronze.
Quando as colunas só serão conhecidas no processamento (bancos em modo pull), a tela diz isso e não oferece partição agora — você volta a configurar no hub da fonte depois da primeira descoberta.
Clusterização: até quatro colunas, na ordem em que você marca
Clusterizar agrupa as linhas pelas colunas escolhidas, acelerando filtros e joins por elas. Três regras da tela:
- Até 4 colunas. Ao atingir o limite, os outros chips ficam desabilitados.
- A ordem importa — é a ordem em que você marca os chips.
- Tipos aceitos: inteiros, texto, datas e booleanos. Números decimais (
FLOAT64) não são aceitos — o chip aparece cinza e opaco, com o motivo no título.
Boas candidatas são colunas muito usadas em filtro (cliente_id, status). E uma dica que a etapa Carga reforça: quando a coluna-chave de controle do Append também é a coluna de partição (ou está no cluster), aparece o selo "coluna particionada — ideal para Append" — a janela do incremental passa a ler menos ainda.
PII: marcar é uma decisão de LGPD, não de estética
A sub-seção Colunas PII (anonimizadas) pede: "marque dados pessoais (CPF, e-mail, telefone, nome)". O efeito está escrito logo abaixo e é preciso: "eles ficam anonimizados nas consultas — só na nossa camada, sem alterar o BigQuery". Ou seja: a marcação não reescreve o dado no datalake; ela muda o que sai nas consultas e no profiling.
O produto sugere colunas pela leitura do nome (um chip extra diz "sugerida") e oferece "Marcar sugeridas (N)" / "Desmarcar sugeridas". Sugestão não é decisão: conferir a lista é trabalho seu.
O que a marcação muda no profiling (o perfil que o catálogo mostra de cada coluna):
| Situação da coluna | O que o perfil mostra |
|---|---|
| Normal | Tipo declarado × inferido, % de nulos, distintos (estimativa), mínimo/máximo, comprimento médio e até 5 exemplos |
| PII | Exemplos viram •••; mínimo, máximo, distintos e comprimento são suprimidos. Só a % de nulos sobrevive |
| Oculta por governança | Nem aparece — o nome da coluna não viaja |
E os tetos do profiling, que explicam por que uma tabela larguíssima aparece cortada com aviso: 50 colunas, exemplo de 60 caracteres, payload total ≤ 32 KiB.
Onde a Bronze mora
Cada workspace tem datasets próprios — <prefixo>_bronze, <prefixo>_silver, <prefixo>_gold — e uma área de landing gs://{bucket}/landing/{prefixo}/.... O prefixo deriva do workspace e é saneado para [a-zA-Z0-9_-]. Um cliente nunca cruza dataset ou bucket de outro: é invariante do produto, não configuração. No caminho de arquivo e SaaS, os brutos vão para a landing em NDJSON (um objeto por linha) e um único load job lê o conjunto de pedaços.
Exemplo: a Comércio Aurora
Em aurora_bronze, Maria configura vendas com partição em data_pedido e clusterização em filial_id e categoria (nessa ordem — os dashboards filtram por filial primeiro). valor é decimal, então o chip de cluster aparece cinza: não dá e não deveria. Em clientes, o produto já sugere cpf, email e telefone; ela usa Marcar sugeridas (3), confere a lista e acrescenta nome na mão. Depois, no catálogo, o perfil de cpf mostra exemplos ••• e nenhum mínimo/máximo — enquanto as 2.400 linhas cruas continuam intactas na Bronze.
Erros comuns
| Sintoma | Causa provável | O que fazer |
|---|---|---|
| Chip de cluster cinza e não clica | A coluna é FLOAT64 (decimal) | Clustering aceita inteiro, texto, data e booleano — escolha outra |
| Não consigo marcar a 5ª coluna de cluster | Teto de 4 colunas | Remova uma; priorize as mais usadas em filtro |
| "As colunas serão conhecidas ao processar" | Banco em pull, sem descoberta ainda | Volte a configurar partição/cluster/PII no hub da fonte depois da 1ª carga |
| Marquei PII e o dado continua lá no BigQuery | É o comportamento declarado | A anonimização é nas consultas, na nossa camada; não altera o datalake |
| O perfil de uma coluna veio quase vazio | A coluna está marcada como PII | Esperado: só a % de nulos sobrevive |
| Uma coluna não aparece no perfil | Está oculta por governança | O nome não viaja de propósito; trate pela governança |
| Consulta na Bronze está caríssima | Sem partição, lendo tudo | Defina a coluna de partição de data e refaça a medição |
O que é Preview aqui
O profiling determinístico e a amostra mascarada são provados por teste (C04.2 = GA-candidato). A varredura real depende da chave de desligamento de amostragem de dados e do BigQuery do workspace — Preview. A Bronze verbatim e os datasets por workspace são o contrato; o custo faturado em BRL continua não medido.
Faça você mesmo#
No workspace de treino Aurora Varejo, nas tabelas vendas e clientes, só com dados sintéticos.
- Em
/sources, abra o pipeline e vá à etapa Carga. Emvendas, abra Particionamento e colunas técnicas. - Em Coluna de partição, escolha
data_pedido— confirme que ela aparece marcada "— data, ideal". - Em Clusterização (até 4 colunas), marque
filial_ide depoiscategoria. Tente marcarvalore leia por que o chip está desabilitado. - Confirme que "Adicionar data/hora de inclusão" (
_ingestao_em) está ligada; decida se precisa de_arquivo_origeme justifique. - Em
clientes, abra Colunas PII (anonimizadas), use Marcar sugeridas e confira a lista:cpftem de estar marcada. Acrescentenomena mão. - Publique e rode a carga. No Console de dados, confirme que a contagem bruta de
clientesé a esperada — nada foi descartado na Bronze. - Abra o perfil de
clientesno catálogo e confirme quecpfmostra•••nos exemplos, sem mínimo/máximo nem distintos.
Você terminou quando vendas está particionada por data e clusterizada por duas colunas na ordem que você escolheu, clientes.cpf está marcada como PII, o perfil de cpf sai mascarado, e a contagem crua na Bronze continua completa.
Checagem rápida#
Três perguntas no final da aula, corrigidas no servidor. A aula só conta como concluída depois da checagem.
Documentação relacionada#
Capacidades ensinadas#
C04.2 — o selo exibido na aula é sempre o estado mais conservador entre as capacidades citadas; nada aqui é "GA".