Slide 1

Slide 1 text

Elasticsearch Aggregations Javier Rey @vierja

Slide 2

Slide 2 text

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

Slide 5

Slide 5 text

Nested aggregations Root agg Inner agg ▸ bucket Leaf agg ▸ bucket or metric

Slide 6

Slide 6 text

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

Slide 10

Slide 10 text

Gracias! Preguntas?