AWS S3

Ferramenta de armazenamento de objetos oferecida pela Amazon Web Services, Inc. A Dadosfera replica os dados e carrega na Dadosfera.

Funcionalidades

FuncionalidadeSuportadoNotas
Definir frequência da pipelineSim
Sincronização IncrementalSim
Sincronização Full loadNão
Seleção das entidadesNão
Seleção de colunasNão
Micro-transformação: HashNão

📘

Tipos de arquivos

Os tipos de arquivos suportados atualmente são: CSV, JSON e Parquet.

É possível carregar apenas um tipo de arquivo por vez.

Guia rápido

Para iniciar a criação de uma Pipeline, basta ir no módulo Coletar, "Pipelines" aperte em "Nova Pipeline".

Escolha a fonte de dados

Utilize uma fonte já cadastrada ou cadastre uma nova

Parâmetros para conexão (cadastro da fonte)

Nome do campoDescriçãoExemplo
Access Key IDAccess key fornecido de um IAM user ou AWS account root user. Deve possuir 20 caracteres.ACHLNDKM6AIPSWH3TP
Secret Access KeyChave secreta fornecido em conjunto com a AWS Access Key. Deve possuir 40 caracteres.KwYmQq/zZQAjc+pMRiQ

Informações da pipeline

Atribua o nome e uma breve descrição para sua Pipeline.

Parâmetros de configurações da pipeline (CSV)

Preencha os campos abaixo com os parâmetros e clique em "Continuar".

Nome do campoDescriçãoExemplo
Tipo de arquivoCSV-
NomeNome descritivo do arquivoMinha planilha
BucketNome do bucket de origem do arquivomeu_bucket
Nome do arquivo a ser extraídoNome do caminho para chegar ao arquivo. É todo o conteúdo após o nome do bucket. (Observação: o nome do arquivo não deve conter espaços e caracteres especiais para o sucesso da etapa de coleta)meusdados/2021/dados.csv
SeparadorCaractere delimitador das colunas no arquivo";" ou "," ou "tab" ou "/"
Tipo de codificaçãoPadrão do conjunto de caracteresUTF-8:
ISO-8859-1:
US-ASCII:
UTF-16BE:
UTF-16:
UTF-16LE:
Ativar cabeçalhoO arquivo possui cabeçalho?-

📘

CSV com multiline

Caso o seu CSV possua dados que se quebram em linhas, ele só será coletado corretamente para a Dadosfera caso estiver entre aspas. Exemplo:

name,age,address
john,29,"19 Street
Ohio"

Multiline não aceito:

name,age,address
john,
29,
19 Street Ohio

Parâmetros de configurações da pipeline (JSON)

Nome do campoDescriçãoExemplo
Tipo de arquivoJSON-
NomeNome descritivo do arquivoMinha planilha
BucketNome do bucket de origem do arquivomeu_bucket
Nome do arquivo a ser extraídoNome do caminho para chegar ao arquivo. É todo o conteúdo após o nome do bucket. (Observação: o nome do arquivo não deve conter espaços e caracteres especiais para o sucesso da etapa de coleta)meusdados/2021/dados.csv
Tipo de codificaçãoPadrão do conjunto de caracteresUTF-8:
ISO-8859-1:
US-ASCII:
UTF-16BE:
UTF-16:
UTF-16LE:

Parâmetros de configurações da pipeline (Parquet)

Nome do campoDescriçãoExemplo
Tipo de arquivoParquet-
NomeNome descritivo do arquivoMinha planilha
BucketNome do bucket de origem do arquivomeu_bucket
Nome do arquivo a ser extraídoNome do caminho para chegar ao arquivo. É todo o conteúdo após o nome do bucket. (Observação: o nome do arquivo não deve conter espaços e caracteres especiais para o sucesso da etapa de coleta)meusdados/2021/dados.csv

❗️

Nunca utilize / no início ou no fim do campo "Nome do Arquivo"

A Dadosfera já considera o primeiro nome como a primeira pasta dentro de um bucket. Então, caso você tenha essa estrutura abaixo, use somente data/2023 para extrair todos os arquivos .csv dentro da pasta 2023:

data/
|-- 2023/
    |-- 01/
        |-- 0.csv
        |-- 1.csv
    |-- 02/
        |-- 0.csv
        |-- 1.csv

Carga Incremental

Ao trabalhar com a Amazon S3, frequentemente nos deparamos com uma organização hierárquica de dados. Uma estrutura comum é ter um diretório principal (por exemplo, "data") e dentro dele vários subdiretórios que segmentam os dados, muitas vezes por períodos, como meses ou anos.
Estrutura de exemplo:

data/
|-- year=2023/
    |-- month=01/
        |-- 0.csv
        |-- 1.csv
    |-- month=02/
        |-- 0.csv
        |-- 1.csv

No exemplo acima, data é nosso diretório principal e 2023/01/ e 2023/02/ são subdivisões (muitas vezes chamadas de "partições"). Cada partição contém arquivos de dados individuais.

Nesta abordagem incremental, criamos uma única pipeline que aponta para o diretório principal (Nome do arquivo a ser extraído= data, sem barras). Essa pipeline é inteligente o suficiente para identificar e extrair todos os arquivos das subdivisões ou partições de forma automática.

Informações importantes sobre o funcionamento

Aqui abaixo vão algumas informações importantes sobre o funcionamento deste tipo de Conexões/Pipelines

🚧

Deleção de Assets

Ao usar um Pipeline S3 em modo incremental (leia mais acima) você não pode alterar o nome da pipeline ou excluir os ativos já criados. Se fizer isso, a pipeline entrará em estado de erro e deverá ser recriada.

📘

Caracteres especiais

Ainda que o "Tipo de codificação" seja ajustado, é possível que por padrão de parâmetro, caracteres especiais não apareçam no catálogo.

📘

Observações gerais sobre tipos de dados:

  • Uma coluna somente será reconhecida como o tipo number quando todos os elementos da coluna forem números inteiros.

  • Uma coluna somente será reconhecida como sendo do tipo float quando todos os elementos da coluna seguirem o padrão do tipo de dado para números de pontos flutuante, ou seja, um número racional (ex: xxxx.xx).

  • O uso de vírgulas na formatação numérica (x,xxx.xx) implica em uma conversão de uma coluna do tipo text.

📘

Sobre tipos de colunas

  • Uma coluna somente será reconhecida como o tipo number quando todos os elementos da coluna forem números inteiros.
  • Uma coluna somente será reconhecida como sendo do tipo float quando todos os elementos da coluna seguirem o padrão do tipo de dado para números de pontos flutuante, ou seja, um número racional (ex: xxxx.xx).
  • O uso de vírgulas na formatação numérica (x,xxx.xx) implica em uma conversão de uma coluna do tipo text.

Frequência

  • Por último, configure a frequência desejada para que sua pipeline rode. É possível escolher dentre as opções apresentadas ou inserir uma frequência customizada através de uma expressão cron. Para saber mais, acesse.

Pronto! Agora basta aguardar a coleta ser feita no horário e dia agendado.

Caso queira executar a pipeline imediatamente, é possível executá-la manualmente. Vá em "Pipelines", "Lista" e "Sincronizar Pipeline".

Após alguns minutos, sua pipeline estará catalogada na aba de exploração como um Data Asset.

📘

A tabela será catalogada adicionando a coluna _processing_timestamp. Dessa forma, em coletas incrementais que os valores sejam sobrescritos, será possível coletar o último valor do registro. Além disso, a coluna com a data de quando o registro foi escrito ajudará nas análises dos dados.

É possível também consultar na lista de pipelines os detalhes da pipeline, como: resumo, lista de entidades e colunas coletadas, histórico de execução e de micro-transformação, em "Ver pipeline".