Selo de estado:
Preview(teto atual do produto) · Curso ACD-210 — Conectores e conexões · Aula 6 de 8 · Atualizado em 2026-10-05.
Objetivo#
Ao final desta aula você vai importar arquivo; explicar área de recebimento — depositando um CSV na landing do seu workspace e sabendo dizer onde ele parou em cada passo.
Vídeo#
Identificador no manifesto: acd-210-06-arquivos-csv-json-parquet · duração-alvo 6 min · tela do produto: /conexoes.
Roteiro de gravação (5 capítulos):
| # | Minutagem-alvo | Capítulo | Tela do produto |
|---|---|---|---|
| 1 | 0:00–0:40 | Abertura: título + selo. Você deposita (push) × Nós buscamos (pull) — e por que arquivo não pede senha. | /conexoes/nova |
| 2 | 0:40–2:00 | O cartão de arquivo leva ao fluxo de arquivos, não ao assistente de conexão. Pasta na landing e caminho de destino. | /sources/new |
| 3 | 2:00–3:20 | Opções por formato: Delimitador no CSV, Formato (linhas/array) no JSON, nada no Parquet. | /sources/new |
| 4 | 3:20–4:40 | Processar agora e os quatro passos ao vivo: validar → landing → bronze → registrar. Carga verbatim e os carimbos. | /sources |
| 5 | 4:40–6:00 | Saneamento automático de cabeçalho; por que puxar do seu bucket ainda depende de liberação; o "faça você mesmo". | /sources |
Conteúdo#
CSV, JSON e Parquet são Disponível (maturidade GA-candidato) e são os únicos conectores que não têm cofre nem senha: no modo push você é quem entrega o dado. O cartão do catálogo já avisa a porta certa — "Enviar arquivo — não pede senha".
Push é uma carga que
você dispara No modo Você deposita (push) o arquivo vai para a área de recebimento (landing) do seu workspace e o produto carrega na Bronze quando você manda. Nada acontece sozinho: o arquivo chegar à landing não é o mesmo que a Bronze ter linhas.
Push, pull e o que cada um autoriza (medido em 2026-10-05)
| Modo | Quem move o dado | Estado hoje |
|---|---|---|
| Você deposita (push) | Você envia o arquivo para a landing do seu workspace | Disponível — é o caminho desta aula, e o único sem condição |
| Nós buscamos de um bucket seu — Amazon S3, Google Cloud Storage, Azure Blob, R2, MinIO (categoria Object storage) | O produto lê o bucket no agendamento | Acesso limitado: o cadastro e o teste são aceitos, e a extração ao vivo é liberada conector a conector, depois de validada com uma credencial real da sua conta |
| Nós buscamos de uma pasta remota — SFTP, Google Drive, Dropbox, OneDrive (categoria Arquivos remotos) | O produto lê a pasta no agendamento | Acesso limitado, mesma condição |
Mudou em 2026-10-05: até a onda 15, puxar de bucket próprio era Planejado e a configuração era recusada. Hoje existe, e o que falta é a liberação com credencial real — ver a aula 2 para o que "Acesso limitado" autoriza. Na prática, o caminho que não depende de liberação nenhuma continua sendo o push: depositar na área de recebimento, que segue exatamente o mesmo fluxo de camadas. É o que se promete ao cliente com data.
Opções por formato (e só isso)
| Formato | Campo | Valores |
|---|---|---|
| CSV | Delimitador | Vírgula (,) · Ponto e vírgula (;) · Tab · Pipe (|) — ; é o comum no Brasil |
| JSON | Formato | Linhas (JSONL / ndjson) ou Array único |
| Parquet | — | Nada a configurar: o formato é auto-descritivo, traz esquema e tipos embutidos |
Antes do envio, a tela pede o Nome da pasta na landing (ex.: vendas/) e mostra o caminho de destino, do tipo landing/<prefixo-do-workspace>/<pasta>. A área de upload avisa uma coisa que vale decorar: ao selecionar o arquivo, o conteúdo é lido no seu navegador só para descobrir as colunas — nessa etapa nenhum arquivo é enviado para a nuvem.
Os quatro passos da ingestão
Com a fonte salva, Processar agora abre o painel ao vivo com quatro passos, nesta ordem:
| Passo | O que acontece |
|---|---|
validar | Confere fonte e credenciais cifradas |
landing | Envia o arquivo bruto para a área de recebimento (GCS) |
bronze | Carrega verbatim na Bronze (BigQuery) |
registrar | Atualiza o catálogo e a última sincronização |
Na Bronze, cada linha entra como texto, com os carimbos _ingest_at, _source e _row. Nenhuma linha é descartada no Bronze — a tipagem acontece depois, na Silver. Ver números como texto na Bronze é o comportamento esperado, não um defeito.
Saneamento automático: por que a carga não quebra por nome de coluna
Um cabeçalho com acento, espaço ou vazio ("preço", "nome do cliente") faria um load direto falhar com Invalid field name. Quando isso acontece, o produto saneia o arquivo e recarrega: minúsculas, sem acento, _ no lugar de espaço; coluna vazia vira coluna; nome que começa com número vira col_…. Ele também explode envelopes ({meta…, data:[…]}) e converte array ou pretty-JSON para NDJSON. A regra é conservadora: linha não-parseável é mantida como está — o produto nunca inventa dado.
No workspace Aurora Varejo
Maria precisa do catálogo de produtos na Bronze e só tem um produtos.csv exportado do sistema da loja, com ; como separador e a coluna preço acentuada. Ela abre o fluxo de arquivos, escolhe CSV, informa a pasta produtos/, seleciona Ponto e vírgula e envia. Processar agora: validar → landing → bronze → registrar. Na Bronze, a coluna chegou como preco — foi o saneamento, e a tela mostra o nome resultante. A contagem de linhas bate com o arquivo. Nenhuma senha foi digitada, nenhum cofre foi usado.
Erros comuns
| Sintoma | Causa provável | O que fazer |
|---|---|---|
| Colunas todas numa só | Delimitador errado no CSV | Selecione o delimitador correto (; é comum no Brasil) |
| JSON não carrega | Formato marcado errado | Alterne entre Linhas (JSONL) e Array único |
Invalid field name | Cabeçalho com acento/espaço | O saneamento recarrega sozinho; confira os nomes resultantes |
| Números como texto na Bronze | Comportamento esperado | A tipagem acontece na Silver |
| "Enviei e a Bronze está vazia" | A carga não foi disparada | Use Processar agora — push é uma carga que você dispara |
| Procuro o assistente de conexão | Arquivo não passa por ele | Arquivo vai pelo fluxo de arquivos; não há host nem senha |
| "Quero que vocês leiam meu bucket S3" | Estado do conector S3 na tabela do catálogo | É Acesso limitado: o cadastro é aceito, e a extração ao vivo depende da liberação com credencial real. Enquanto ela não sai, deposite os arquivos na área de recebimento |
O que é provado e o que não é
A leitura de formato e o saneamento de carga são provados por teste. A carga real em BigQuery permanece Preview e o custo faturado em BRL = NÃO MEDIDO: a carga Bronze consome load job (cobrável). O arquivo vai para a landing do seu workspace e nunca cruza com outro cliente — e não coloque segredo nem PII desnecessária no arquivo.
Faça você mesmo#
No workspace de treino Aurora Varejo, como dono, com dados sintéticos.
-
Crie
produtos.csvcom ponto e vírgula como delimitador, um cabeçalho acentuado de propósito e três linhas:csvproduto_id;nome;categoria;preço P-1001;Água 500ml;Bebidas;3,50 P-1002;Detergente 500ml;Limpeza;6,90 P-1003;Suco de uva 1L;Bebidas;12,90 -
Em
/conexoes, use Nova conexão, localize o cartão CSV (categoria Arquivos) e confirme que o rodapé diz "Começar pelo fluxo de arquivos (não pede senha de banco)" antes de clicar. -
No fluxo de arquivos, informe Nome da pasta na landing =
produtos/e transcreva o caminho de destino que a tela mostra. -
Selecione
produtos.csv, escolha Delimitador = Ponto e vírgula e confirme na tela que, nesta etapa, nenhum arquivo foi enviado para a nuvem ainda — as colunas foram lidas no navegador. -
Salve a fonte e use Processar agora. Acompanhe os quatro passos e anote em qual deles o arquivo saiu da sua máquina (
landing) e em qual as linhas viraram tabela (bronze). -
Confira o resultado: a coluna
preçodeve aparecer saneada (sem acento) e a contagem na Bronze deve ser 3 linhas — a contagem, não só o selo verde. -
Repita o passo 4 de propósito errado: delimitador Vírgula. Observe as colunas colapsando numa só na prévia e corrija.
Você terminou quando produtos.csv está na Bronze com 3 linhas, você tem o caminho da pasta de landing anotado, sabe nomear os quatro passos na ordem e viu o saneamento renomear a coluna acentuada.
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#
- data/tutoriais/importar-arquivo
- data/conectores — o estado de cada conector de bucket e pasta remota
- data/conectores/csv
- data/conectores/json
- data/conectores/parquet
- data/pipeline-medalhao — o que vem depois da Bronze
Capacidades ensinadas#
(conceitual — sem capacidade específica da matriz) — o selo exibido na aula é sempre o estado mais conservador entre as capacidades citadas; nada aqui é "GA".