- Data Hackers Newsletter
- Posts
- Como integrar o Amundsen com ferramentas de ETL e dbt
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
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.
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.
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.
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.
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.
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:
Contexto: Informações sobre a existência dos dados, descrição e semântica.
Comportamento: Essencial para entender como os dados são criados e utilizados ao longo do tempo.
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
Instalação e configuração: Certifique-se de que o Amundsen está devidamente instalado e configurado.
Integração com ETL: Configure o Amundsen para trabalhar com seus pipelines de ETL através do amundsen-databuilder.
Modelagem de metadados: Insira metadados para descrever transformações e fluxos de dados, identificando tabelas e campos relevantes.
Consultas e visualizações: Use a interface do Amundsen para encontrar datasets e visualizar suas origens e transformações.
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.