Apache SuperSet - BI 🧐

Apache SuperSet - BI 🧐

Y como no podía falta una solución de reportería y análisis de datos, estuvimos probando Apache Superset, una alternativa a PowerBI y Tableau, pero código libre 😀.

Instalación SuperSet

Como de costumbre, utilizamos el Helm Chart de SuperSet para su instalación. Fue tan fácil como:

helm upgrade -i --values superset.yaml superset superset/superset -n patagon

Eso sí, sólo aplicamos los siguientes cambios con el archivo superset.yaml

# Configuración para habilitar los dashboard a usuarios anónimos
configOverrides:
  public_role: |
    PUBLIC_ROLE_LIKE = "Gamma"
    PUBLIC_ROLE_LIKE_GAMMA = True
    WTF_CSRF_ENABLED = False
    GUEST_ROLE_NAME = "Gamma"
ingress:
  enabled: true
  # ingressClassName: nginx
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.ingress.kubernetes.io/router.entrypoints: websecure
  path: /
  pathType: ImplementationSpecific
  hosts:
    - bi.patagon.dev

Y listo ! Quedó funcionando inmediatamente acá:

DataSource

Lo primero que hicimos fue agregar una fuente de datos. Esta puede ser MySQL, PostgreSQL o Presto. Para esta prueba usamos el contecto de Mysql:

Y agregamos la tabla "compraspublicas" con algunas Ordenes de Compra obtenidas con esta API pública:

Charts

Lo primero que corresponde hacer, es crear un chart o gráfico. Superset incluye una serie de opciones:

Así problemas un gráfico del tipo "treemap". Como métrica sumamos el Monto Neto de las Ordenes de Compra y las agrupamos por "Region >> Comuna". Así nos generó este lindo gráfico:

Dashboards

Finalmente los dashboard son un conjunto de Charts o gráfico. Lo bueno es que es posible agregar filtros y estructurarlo con puros "drag & drop":

Pueden revisar el dashboard creado acá:

Conclusión

Gran herramienta resultó ser Superset. Además de estar plenamente vigente y activa, tiene otras serie de características relevantes como:

  • Múltiples roles de usuarios
  • Filtros de seguridad por líneas. (Por ejemplo, cuando queremos que los usuarios no tengan acceso a las remuneraciones)
  • Integración con Oauth y OICD para la integración con sistemas SSO.
  • Plugins
  • Y lo mejor, es de código libre, gracias al Apache Foundation 👏👏👏.