Como integrar o Amundsen com ferramentas de ETL e dbt

Um guia prático para conectar Amundsen a suas ferramentas de ETL e ao dbt, garantindo a integridade e a rastreabilidade dos dados.

Integrar o Amundsen com suas ferramentas de ETL e dbt é um passo essencial para otimizar o gerenciamento e a catalogação de dados dentro da sua organização. Neste guia prático, vamos explorar como essa conexão pode garantir a integridade e a rastreabilidade das informações, proporcionando uma visão clara do fluxo de dados e de sua origem em processos complexos.

Você aprenderá a utilizar o Amundsen Databuilder, uma biblioteca projetada para facilitar essa integração, além de um passo a passo para configurar seus extratores, transformadores e carregadores, assegurando que seus dados estejam sempre alinhados com as melhores práticas de governança e qualidade.

O que é o Amundsen e quais suas funcionalidades?

O Amundsen é um catálogo de dados de código aberto que nasceu para resolver desafios de governança e descoberta de dados na Lyft. Desde sua abertura em outubro de 2019, o Amundsen tornou-se uma ferramenta popular no ecossistema de dados, permitindo que os times de dados encontrem, usem e compartilhem informações de maneira mais eficiente.

Funcionalidades principais do Amundsen

  1. Descoberta de dados: O Amundsen permite que os usuários realizem buscas simples por meio de um sistema de pesquisa inspirado no PageRank, que classifica os dados com base em nomes, descrições, tags e a atividade de consulta nos dados.

  2. Metadados automatizados e curados: A plataforma gera e mantém informações detalhadas sobre os conjuntos de dados, incluindo descrições de tabelas e colunas, usuários frequentes, datas de atualização e estatísticas.

  3. Interface intuitiva: O Amundsen possui uma interface amigável que centraliza informações do catálogo de dados, permitindo interações eficientes e reduzindo a necessidade de comunicação constante para esclarecer dúvidas.

  4. Rastreabilidade e governança: O sistema permite que as equipes definam proprietários e mantenedores dos dados, o que é essencial para a governança de dados.

  5. Facilidade de integração: Amundsen pode ser integrado com diversas ferramentas de processamento de dados, facilitando a coleta e ingestão de metadados de diferentes fontes.

  6. Engajamento da equipe: A ferramenta promove a colaboração entre membros da equipe, permitindo que vejam quais dados são frequentemente utilizados e como esses dados estão sendo aplicados em análises e modelos.

Essas funcionalidades fazem do Amundsen uma solução robusta e eficaz para organizações que buscam otimizar seu gerenciamento de dados.

Desde seu surgimento, o Amundsen se tornou uma das ferramentas mais populares no ecossistema de dados

Como conectar o Amundsen a ferramentas de ETL?

Conectar o Amundsen às suas ferramentas de ETL (Extract, Transform, Load) é um passo essencial para garantir que dados sejam adequadamente integrados e registrados em sua plataforma de catalogação. O Amundsen Databuilder é uma biblioteca projetada especificamente para facilitar este processo, contando com três componentes principais: Extractor, Transformer e Loader.

1. Entendendo os componentes do Databuilder

  • Extractor: Responsável pela extração de dados de fontes externas, como bancos de dados ou APIs, podendo se servir de diversos tipos de fontes.

  • Transformer: Processa os dados extraídos, permitindo aplicar transformações, como alteração de formatos ou filtragem de informações irrelevantes.

  • Loader: Carrega os dados transformados no destino desejado, como um Neo4j ou outro repositório de dados.

2. Configurando seu Extrator

Para começar a integração, você precisa definir a configuração do seu extrator. Aqui está um exemplo de configuração para um extrator de banco de dados usando o DBAPIExtractor:

job_config = ConfigFactory.from_dict({
    'extractor.dbapi.host': 'seu_host',
    'extractor.dbapi.port': 'sua_porta',
    'extractor.dbapi.user': 'seu_usuario',
    'extractor.dbapi.password': 'sua_senha',
    'extractor.dbapi.db_name': 'seu_banco_de_dados',
    'extractor.dbapi.sql': 'SELECT * FROM sua_tabela'
})

Esse snippet configura o extrator para se conectar ao seu banco de dados e realizar uma consulta específica.

3. Adicionando Transformações

Após a extração, você pode querer modificar os dados antes de carregá-los. A transformação pode ser feita utilizando um transformador, conforme o exemplo abaixo:

task = DefaultTask(
    extractor=DBAPIExtractor(),
    transformer=GenericTransformer()
)

4. Carregando os Dados

Depois de extrair e transformar seus dados, use um loader para enviar a informação para sua base de dados. Para um Neo4j, o carregador pode ser configurado da seguinte forma:

job_config = ConfigFactory.from_dict({
    'loader.filesystem_csv_neo4j.node_dir_path': '/caminho/para/nodes',
    'loader.filesystem_csv_neo4j.relationship_dir_path': '/caminho/para/relationships'
})

publisher = Neo4jCsvPublisher()

5. Executando o Job

Agora você está pronto para executar o seu job. Aqui está como organizar e lançar o job completo:

job = DefaultJob(conf=job_config, task=task, publisher=publisher)
job.launch()

Integração com o dbt

Integrar o Amundsen com o dbt aprimora a gestão e o rastreamento de metadados. O processo envolve passos fundamentais que garantem que a transferência de dados e a visualização de linhagem sejam precisas.

1. Clonar o repositório do GitHub

Clone o repositório oficial do Amundsen com o método mais simples de implantar, utilizando o arquivo docker-amundsen.yml.

git clone [email protected]:amundsen-io/amundsen.git

2. Habilitar linhagem no Amundsen

Navegue até o diretório da configuração do frontend:

cd /frontend/amundsen_application/static/js/config/

Substitua o arquivo config-default.ts pelo arquivo fornecido neste link ou faça a alteração manualmente, habilitando a linhagem de tabelas e colunas.

3. Construir e implantar

Após habilitar a linhagem, você precisará reconstruir o frontend utilizando o arquivo docker-amundsen-local.yml:

docker-compose -f docker-amundsen-local.yml build
docker-compose -f docker-amundsen-local.yml up -d

Verifique o status com o comando docker ps.

4. Configurar e executar o dbt

Ao configurar o dbt, um arquivo manifest.json é gerado no diretório target. Após executar o comando dbt docs generate, um arquivo catalog.json também é gerado.

Utilize o extrator dbt do Amundsen para captar os dados após a ingestão. Você pode instalar o dbt e criar um projeto novo, ou usar arquivos de exemplo do repositório do Amundsen.

python3 -m venv dbt-env
dbt-env/bin/activate
pip3 install dbt
dbt init sample_dbt_project

Configure o arquivo profiles.yml, após o que execute o comando dbt run para criar as entidades na origem, assegurando que manifest.json e catalog.json estejam preenchidos.

Garantir a integridade dos dados com o Amundsen

A integridade dos dados é fundamental na gestão de conjuntos de dados. O Amundsen oferece abordagens eficazes para manter a qualidade e confiabilidade dos dados.

O papel dos metadados

Os metadados descrevem e fornecem informações sobre os dados, permitindo a compreensão do contexto, origem e utilização. O Amundsen organiza e centraliza essas informações, facilitando a busca e o gerenciamento.

Existem três tipos principais de metadados a serem considerados:

  1. Contexto: Informações sobre a existência dos dados, descrição e semântica.

  2. Comportamento: Essencial para entender como os dados são criados e utilizados ao longo do tempo.

  3. Mudança: Refere-se às alterações nos dados, incluindo mudanças de esquema e processos de criação.

Implementando boas práticas

Para garantir a integridade dos dados, implemente as seguintes práticas:

  • Validação e Monitoramento: Crie rotinas que validem a integridade dos dados periodicamente.

  • Controle de Acesso: O Amundsen permite categorizar metadados e controlar o acesso a informações sensíveis.

  • Feedback dos Usuários: Utilize a função de feedback do Amundsen para reportar problemas ou inconsistências.

  • Documentação Adequada: Garanta documentação completa dos dados e metadados, facilitando o entendimento pelos usuários.

Esquema demonstrando a integração do Amundsen a um sistema de dados

Como utilizar o Amundsen para rastreamento de dados?

O Amundsen é uma ferramenta poderosa para catalogação e descoberta de dados, permitindo que equipes aproveitem ao máximo seus recursos. Um dos principais benefícios é sua capacidade de rastreamento de dados, essencial para a transparência e a governança.

Compreendendo o rastreamento de dados

O rastreamento, ou linhagem de dados, refere-se ao entendimento da origem, destino e transformação dos dados. Isso facilita auditorias e garante conformidade com regulamentações.

Benefícios do rastreamento de dados com Amundsen

Utilizar o Amundsen para rastrear dados oferece várias vantagens:

  • Visibilidade aprimorada: Permite visualizar como os dados se movem e se transformam ao longo do tempo.

  • Facilidade de uso: A interface intuitiva possibilita acesso rápido a informações sobre a linhagem.

  • Contexto significativo: Informações sobre descrições, tags e responsáveis pelos dados auxiliam na tomada de decisões informadas.

Como configurar o rastreamento de dados no Amundsen

  1. Instalação e configuração: Certifique-se de que o Amundsen está devidamente instalado e configurado.

  2. Integração com ETL: Configure o Amundsen para trabalhar com seus pipelines de ETL através do amundsen-databuilder.

  3. Modelagem de metadados: Insira metadados para descrever transformações e fluxos de dados, identificando tabelas e campos relevantes.

  4. Consultas e visualizações: Use a interface do Amundsen para encontrar datasets e visualizar suas origens e transformações.

  5. Auditorias e governança: Implementar rotinas para monitorar os dados e garantir que as informações estejam atualizadas.

Exemplos de uso prático

Com o Amundsen, você pode:

  • Pesquisar datasets específicos e obter informações sobre sua origem e transformações.

  • Utilizar filtros avançados para encontrar dados relacionados a projetos ou departamentos.

  • Acessar métricas de uso, identificando conjuntos de dados críticos para a operação do negócio.

Esse tipo de abordagem promove a democratização dos dados e melhora a colaboração entre equipes, criando uma cultura orientada a dados.

Considerações finais

Integrando o Amundsen com suas ferramentas de ETL e dbt, você assegura que a governança e a rastreabilidade dos seus dados estejam em níveis elevados. Neste guia, apresentamos exemplos práticos que facilitam a configuração do Amundsen Databuilder, permitindo uma gestão mais eficiente dos metadados e a transparência do fluxo de dados em sua organização.

No final das contas, a combinação dessas ferramentas não só otimiza o acesso à informação, mas também transforma a maneira como sua equipe interage com os dados, promovendo uma cultura de usar dados para tomar decisões mais sólidas e bem fundamentadas.