Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Superset - Criando dashboards com Python - Rômulo Rodrigues

Superset - Criando dashboards com Python - Rômulo Rodrigues

PyData BH

March 21, 2018
Tweet

More Decks by PyData BH

Other Decks in Programming

Transcript

  1. Palestrante Rômulo Rodrigues Cientista de Dados Formado em Eng. de

    Controle e Automação Pós-graduando em Ciência de Dados e Big Data Ramo de atuação: Ciência de dados aplicada ao mercado financeiro. Github: romulomadu
  2. Introdução Rápida • Ferramenta open-source para criação de dashboards. •

    Criada pelos desenvolvedores do Airbnb inicialmente como Paronamix. • Posteriormente, mudou o nome para Caravel. • Em 2016 Airbnb transferiu o projeto para a Apache Software Foundation. • Sob a Apache o projeto foi então renomeado para Superset. ◦
  3. Características • Programado em Python: Backend em Flask, também usa

    Pandas. • Front-end: React/JS • É cloud mative: escalável e pode trabalhar com containers. • É bastante flexível: criar superset_config.py ◦ Web servers suportados: Gunicorn, Nginx, Apache ◦ Metadata DB engine: MySql, Postgres, MariaDB, … ◦ Message Queue: Redis, RabbitMQ, SQS, … ◦ Results backend: S3, Redis, Memcached, … ◦ Caching layer: Memcached, Redis, ...
  4. Características • Tem integração com a maiorias do bancos relacionais

    via SQLAlchemy • Tem integração com Druid (ideal para OLAP) • Permite integrar com flask-apps (blueprints) • Vem com SQL Lab • Possibilita vários níveis de autenticação configuráveis. • Instalação: ◦ https://superset.incubator.apache.org/installation.html ◦ Recomendável instalar em um ambiente.
  5. Conclusão Benefícios • Open-source. • Suporta múltiplas fontes de dados.

    • Possui várias visualizações com filtros interativos. • Pode criar visualizações sem a necessidade de saber SQL. • Visualizações são realmente belas. • Os issues no GitHub são rapidamente respondidos.
  6. Desvantagens: • Você pode cruzar com algum bug (nesse caso

    esteja pronto para reportar como issue no GitHub). • Customizações mais avançadas exigem um conhecimento do código fonte. Conclusão