Aggregations
Información sumarizada a partir de
varios documentos o tuplas para
obtener alguna métrica o
información del conjunto de datos.
SELECT sum(x), count(1)
GROUP BY y;
Slide 3
Slide 3 text
Aggregations en Big Data
◎ Grandes volúmenes de datos se hace difícil
revisar/monitorear la información.
◎ A veces queremos extraer información
compleja sin tener que programar (app o
jobs).
◎ Métricas en tiempo real.
Slide 4
Slide 4 text
Buckets
terms
histogram
geo grids
...
Aggregations en Elasticsearch
Metrics
min - max - avg
stats
cardinality
...
SELECT sum(x), count(1)
GROUP BY y; BUCKET
METRICS
Por qué usarlas en Elasticsearch?
◎ Combinables con búsquedas
○ Ver agregaciones de resultados de
búsquedas
◎ Fáciles de usar
○ JSON based DSL
◎ Rápidas
○ Estructuras de datos optimizadas
○ Single pass de datos
Slide 7
Slide 7 text
Funcionamiento en clusters
◎ Agregación a nivel de shard (distribuido)
◎ Merge de las distintas sub agregaciones
◎ Algoritmos de aproximación:
○ Cardinalidad
◉ HyperLogLog
○ Percentiles
◉ TDigest
Slide 8
Slide 8 text
Aggregations interesantes
◎ Significant Terms aggregations
○ The uncommonly common
◎ Geohash grid
◎ Terms con scripts
Slide 9
Slide 9 text
Ejemplos
Multas de tránsito de Montevideo
catalogodatos.gub.uy
github.com/vierja/geojson_montevideo
Queries: gist.github.com/vierja/aad3cd56fb11af129fae
SFPD Crime Incident Reporting
elasticsearch.demos.tryolabs.com