Como buscar dados de forma simples e rápida com o Whale

Como buscar dados de forma simples e rápida com o Whale
Este material fala sobre uma ferramenta simples e rápida para descoberta de dados, cuja operação você pode ver na KDPW. É interessante que o whale foi criado para ser hospedado em um servidor git remoto. Detalhes estão abaixo.

Como a ferramenta de descoberta de dados do Airbnb mudou minha vida

Na minha carreira, tive a sorte de trabalhar em alguns problemas interessantes: estudei a matemática de fluxos durante a minha graduação no MIT, trabalhei em modelos incrementais e com um projeto de código aberto pylift na Wayfair, além de implementar novos modelos de segmentação na página inicial e melhorias no CUPED no Airbnb. Mas todo esse trabalho nunca foi glamouroso — na verdade, eu frequentemente passava a maior parte do meu tempo procurando, estudando e verificando dados. Embora isso fosse uma constante no trabalho, eu nunca pensei que fosse um problema até chegar ao Airbnb, onde isso foi resolvido com a ferramenta de descoberta de dados — Dataportal.

Onde posso encontrar {{data}}? Dataportal.
O que esta coluna significa? Dataportal.
Como está {{metric}} hoje? Dataportal.
Qual é o sentido da vida? Em Dataportal, provavelmente.

Certo, você pintou a imagem. Encontrar dados e entender o que eles significam, como foram criados e como usá-los – tudo isso leva apenas alguns minutos, e não horas. Eu poderia gastar meu tempo fazendo conclusões simples ou novos algoritmos, (… ou respondendo a perguntas aleatórias sobre dados), em vez de cavar nas anotações, escrever consultas SQL repetitivas e mencionar colegas no Slack para tentar recriar o contexto que já estava com outra pessoa.

E qual é o problema?

Eu percebi que a maioria dos meus amigos não tinha acesso a essa ferramenta. Poucas empresas estão dispostas a alocar enormes recursos para criar e manter uma plataforma como o Dataportal. E embora existam algumas soluções de código aberto, elas geralmente são projetadas para escalabilidade, o que dificulta a configuração e a manutenção sem um engenheiro DevOps dedicado. Assim, decidi criar algo novo.

Whale: uma ferramenta de descoberta de dados incrivelmente simples

Como buscar dados de forma simples e rápida com o Whale

E sim, quando digo incrivelmente simples, quero dizer incrivelmente simples. O whale tem apenas dois componentes:

  1. Uma biblioteca Python que coleta metadados e os formata em MarkDown.
  2. Interface de linha de comando em Rust para pesquisar nesses dados.

Do ponto de vista da infraestrutura interna para manutenção, há apenas um conjunto de arquivos de texto e um programa de atualização de texto. Isso é tudo, portanto, a hospedagem em um servidor git, como o Github, é trivial. Nenhuma nova linguagem de consulta que precisa ser aprendida, nenhuma infraestrutura de gerenciamento, nenhum backup. O git é conhecido por todos, então a sincronização e a colaboração vêm de forma gratuita. Vamos dar uma olhada mais de perto na funcionalidade. Whale v1.0.

Interface gráfica totalmente funcional baseada em git

Whale foi criado para navegar pelo oceano de servidores git remotos. Ele é muito fácil de configurar: defina algumas conexões, copie o script do Github Actions (ou escreva um para a plataforma CI/CD escolhida) — e você imediatamente terá uma ferramenta web de descoberta de dados. Você poderá pesquisar, visualizar, documentar e compartilhar suas tabelas diretamente no Github.

Como buscar dados de forma simples e rápida com o Whale
Um exemplo de tabela de substituição gerada com Github Actions. Para uma demonstração completa funcional veja nesta seção.

Busca relâmpago rápida do CLI em seu repositório

Whale vive e respira na linha de comando, fornecendo uma busca funcional em milissegundos em suas tabelas. Mesmo com milhões de tabelas, conseguimos tornar o whale incrivelmente eficiente, utilizando alguns mecanismos de cache engenhosos, além de reestruturar o backend em Rust. Você não perceberá nenhuma latência de busca [olá, Google DS].

Como buscar dados de forma simples e rápida com o Whale
Demonstração do whale, pesquisa em um milhão de tabelas.

Cálculo automático de métricas [em beta]

Uma das coisas que eu menos gosto como pesquisador de dados é executar as mesmas consultas repetidamente só para validar a qualidade dos dados usados. Whale suporta a definição de métricas em SQL simples, que serão executadas em um cronograma juntamente com seus pipelines de limpeza de metadados. Defina um bloco metrics no formato YAML dentro da tabela de substituição, e o Whale será executado automaticamente de acordo com o cronograma e executará as consultas aninhadas nas métricas.

```metrics
metric-name:
  sql: |
    select count(*) from table
```

Como buscar dados de forma simples e rápida com o Whale
Em combinação com o Github, essa abordagem significa que o whale pode servir como uma fonte central leve de verdade para definições de métricas. O whale até armazena os valores junto com carimbos de data no diretório »~/whale/metrics«, caso você queira fazer algum gráfico ou pesquisa mais profunda.

O Futuro

Após conversar com usuários de nossas versões beta do whale, percebemos que as pessoas precisam de funcionalidades mais abrangentes. Por que usar uma ferramenta de busca em tabelas? Por que não uma ferramenta de busca de métricas? Por que não uma de monitoramento? Por que não uma ferramenta para executar consultas SQL? Embora o whale v1 tenha sido originalmente pensado como uma ferramenta de companheiro simples de CLI, Dataportal/Amundsen, ele já se transformou em uma plataforma autônoma totalmente funcional, e esperamos que se torne uma parte integral do kit de ferramentas do cientista de dados.

Se há algo que você gostaria de ver no processo de desenvolvimento, junte-se à nossa comunidade no Slack, abra Issues em Github, ou mesmo entre em contato diretamente com LinkedIn. Já temos uma série de recursos interessantes — templates Jinja, favoritos, filtros de busca, notificações no Slack, integração com o Jupyter, até mesmo um painel de CLI para métricas — mas ficaremos felizes com sua contribuição.

Conclusão

O whale é desenvolvido e mantido pela Dataframe, uma startup que tive o prazer de fundar recentemente junto com outras pessoas. Enquanto o whale é voltado para especialistas em processamento de dados, a Dataframe é destinada a equipes de processamento de dados. Para aqueles de vocês que desejam colaborar mais de perto — não hesitem em entrar em contato, nós os adicionaremos à lista de espera.

Como buscar dados de forma simples e rápida com o Whale
E com o código promocional HABR, você pode obter um desconto adicional de 10% sobre o valor indicado no banner.

Mais cursos

Artigos recomendados

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster