No meu primeiro post do portfólio (leia aqui), mostrei como instalar o DBT, ferramenta de transformação e as primeiras configurações.

Continuando a ideia do projeto e meus estudos, havia dito que utilizaria as seguintes ferramentas: Airbyte, DBT, Airflow e Spark.

Dito isso, hoje venho aqui mostrar como configurar o Airbyte na sua máquina. O processo em si é bem fácil e rápido, bastando apenas ter o Docker.

ÍNDICE:

  1. INSTALANDO AIRBYTE
    1. CRIANDO A SOURCE 
    2. CONECTORES DO AIRBYTE
    3. CONCLUSÃO
    4. OLÁ!
    5. SIGA NAS REDES SOCIUAI
    6. OBRIGADO!

INSTALANDO AIRBYTE

Para começar, baixe e instale o Docker no seu pc por aqui.

Como estou utilizando o WSL2, ele automaticamente captura e se ajusta ao meu cenário. Caso não esteja, veja como configurar corretamente.

Abrindo o WSL2 e iniciando o UBUNTU, crie um diretório para clonar o software na pasta com o comando:

mkdir airbyte

Quando terminar de criar a pasta, digite o seguinte código abaixo:

git clone https://github.com/airbytehq/airbyte.git

O S.O irá baixar a ferramenta do Git e instalar no seu ambiente. Após a instalação, entre no diretório do Airbyte com o change directory.

Pasta do Airbyte após o download pelo GIT.

No diretório, verá que existem diversos arquivos:

Arquivos do Airbyte na pasta.

O que nos interessa é o comando:

docker-compose up

Esse comando irá baixar uma imagem Docker na sua máquina e irá subir o serviço do Airbyte localmente.

Container do Airbyte iniciado no Docker.

Para acessar o Airbyte localmente e criar as conexões e transformações, acesse:

Criando usuário para o airbyte

http://localhost:8000/

Esse foi o link que a própria ferramenta disponibilizou para o host local e single node.

Para acessar, o login padrão é: airbyte/password.

Ao acessar, irá cair na tela do Airbyte e verá seus recursos.

Tela do Airbyte no ambiente web.

Para criar uma conexão, basta clicar em “Create your first connection”.

Antes de criar a conexão no Airbyte, eu criei uma conta para o ELT no banco SQL Server.

Assim, a ferramenta terá acesso limitado tanto ao banco quanto ao ambiente no geral.

Criação do usuário e senha dentro do banco de dados.

Agora que temos o Airbyte instalado, o Docker com o container online e a conta no SQL Server para o ELT criado, vamos criar a conexão com o banco e as fontes.

CRIANDO A SOURCE 

Sabendo que nos tempos atuais as fontes de dados são diversas, é bem comum que tenhamos uma conexão para cada fonte.

Um dos motivos da escolha para o Airbyte é a quantidade de conectores que ele possui e que são constantemente lançados e ou atualizados. Irei falar disso na próxima sessão.

O processo para criação da conexão com as fontes é bem simples. Na tela principal, basta clicar em “Sources” e no canto superior direito, “New Sources.”

Quando a nova tela se abrir, aparecerá a opção de escolher as conexões.

Tipos de conectores.

Como a quantidade é vasta, aconselho a digitar o nome da fonte que deseja. Caso não encontre, é possível criar uma requisição. Opção que ainda não testei.

Existe um pequeno problema que notei quando criamos uma conexão, pelo menos foi assim com o SQL Server. 

Quando escolhemos os Schemas do banco, ao mesmo tempo que limitamos, damos acesso à todas as tabelas que ali estão.

Tela de criação da conexão com a fonte de dados.

Ao finalizar a criação da fonte, ele pedirá para criar um destino, cujo processo é exatamente igual.

Source criada

Fonte de dados criada.

Com a source criada, na próxima tela, clique em “adicionar destino”. Como já tenho o destino criado, utilizarei ele para este exemplo.

Quando o destino dos dados for conectado com a fonte, na próxima tela que se abrir, criaremos algumas configurações básicas como atualização, replicação e etc.

Criação da conexão entre fonte e destino.

Na primeira opção temos apenas o nome que damos para a conexão. Porém, são as outras duas que devemos prestar atenção.

Na opção de TRANSFER, ditamos para o Airbyte a frequência com que ele deve verificar a fonte em busca de atualização.

Na segunda, STREAMS, podemos passar duas configurações:

  1. Schema (Destination Namespace)o schema de destino que essa conexão terá no banco.
  1. Destination Stream Prefix → se queremos atribuir um prefixo para identificar a origem desses dados. (bom para controle e governança de dados.).

Para o schema temos as três opções como mostra a imagem abaixo.

Configuração do modelo de transmissão de dados.
  • Destination Default → irá para o padrão do banco. Se for SQL Server, será o DBO.
  • Mirror Source Structure → espelhará o schema da fonte no banco de destino.
  • Custom format → permite que informemos um schema próprio para os dados.

Como no meu projeto, tenho um schema padrão para meu destino, utilizarei o Custom Format.

Atribuição do Schema para a transmissão de dados entre as bases.

Na opção de Custom Format passamos o nome do schema da ferramenta como uma variável, que ficará assim:

Configuração da sincronização das tabelas.

É possível escolher as tabelas que deseja ativar o sincronismo entre as conexões, selecionando a caixa de diálogo que está em azul, selecionando assim, apenas as desejadas.

Ainda na configuração da sincronia, para cada tabela ao qual ocorrerá a extração, podemos configurar um modo de sincronia entre os ambientes. Isso é muito positivo, uma vez que cada tabela deve atender aos requisitos de negócios adequados.

Tipos de sincronização dos dados.

Como não comecei a extração, ainda não escolhi os modelos, mas é válido testar cada um e mais, são autoexplicativos. O que facilita muito na seleção do formato da sincronia dos dados.

Na última sessão de configuração, temos a normalização e transformação.

Tipos de transformação final para o Airbyte.

Para o momento, não irei explorar essa parte, para o próximo artigo e este trazendo mais do projeto, irei explorar essa parte.

Ao final, minhas conexões entre fonte e destino ficarão assim:

Conexão final entre a fonte de dados e o destino.

CONECTORES DO AIRBYTE

Como dito no início do artigo, o interessante da ferramenta é a vasta quantidade de conectores com as mais diversas fontes, atendendo a quase todas as necessidades de uma empresa de pequeno e médio porte, quiçá, grande porte também.

Conectores do Airbyte.

Outro ponto que podemos notar, é a facilidade com que se pode atualizar um conector. Basta clicar em “Upgrade all” e aqueles que estão em uso, clicar em “Change”.

A própria ferramenta irá atualizar o conector e ativá-lo para uso.

CONCLUSÃO

Como havia dito no meu post no LinkedIN (aqui), estou iniciando meu projeto com Airbyte e hoje estou trazendo apenas os primeiros passos para instalação e configuração.

O artigo mostrou como instalar e criar as conexões com o banco, bem como os tipos de sincronização entre os ambientes.

A ferramenta aparenta ter bastante potencial, principalmente pela quantidade de conectores.

Para o próximo artigo sobre o Airbyte, quero explorar a parte de ELT, como configurar corretamente, as diferenças e limitações entre os modelos de sincronização e possíveis boas práticas para fazer a carga de dados entre as bases.

Muito obrigado, Deus os abençoe!

OLÁ!

Se chegou até aqui e gostou desse artigo, peço que deixe seu like e compartilhe em sua rede.

Se inscreva para receber as atualizações:

Não esqueça de curtir e seguir nas redes sociais! Serão muito bem vindos.

SIGA NAS REDES SOCIAIS:

OBRIGADO!