2
‣ Big Data Engineer @ inovex
‣ Erfahren in den Bereichen:
‣ search
‣ analytics
‣ big data
‣ bi
‣ Arbeite u.a. mit:
‣ Lucene
‣ Solr
‣ Elasticsearch
‣ Hadoop Ecosystem
Bernhard Pflugfelder
‣ Demo “media analytics” @ ProsiebenSat.1
‣ “Elasticsearch in a nutshell”
‣ Import von Daten in Elasticsearch
‣ Datananalyse mit Elasticsearch
Agenda
6
Elasticsearch in a nutshell
Lucene “unter der Haube”
skalierbardokumenten
orientiert
Plugin Architektur
Multi tenancy
REST & JSON
7
Überblick ArchitekturHochverfügbarkeit + Fehlertoleranz
Primary Shard Replica Shard
1 2 3
Master node
321
Node
21 3
Node
JSON Input
JSON Output
8
real-time get
DatentypenMapping (Schema)
Queries
insert, update,delete
snapshot & backup
Elasticsearch – eine dokumentenorientierte Datenbank
10
Import von Daten in Elasticsearch
flume
index api http bindings
logstash
spring-data-elasticsearch
hadoop-elasticsearch
11logstash
logstashlog collection and management toolcollects, parses and stores log eventsbecame part of the ELK stackseamless integration with elasticsearchplugin architectureexpect that logstash will be promoted to a more general ingestion pipeline
Plugin Architektur
Verarbeitung v. Logdaten
Integration mit ES
inputs, codecs,filters,outputs
12
getting data into elasticsearchelasticsearch & hadoop
from http://www.elasticsearch.org/blog/elasticsearch-and-hadoop/
MapReduce Hive Pig Spark
16
Datananalyse mit ElasticsearchDas Aggregations Framework (aggs)
‣ explorative Analyse
‣ slicing & dicing
‣ drilldown
‣ interaktiv
‣ schnelle Berechnung durch in-memory Datenstruktur field data
‣ über search api ausführbar
‣ json in / json out
Bucket aggs
Für das Aufteilen der originalen Menge an Dokumenten in separate Teilmengen von Dokumenten (buckets).
Metric aggs
Für die Berechnung von spezifischen Metriken über eine Menge von Dokumenten.
Die Berechnung basiert auf einer Aggregation über alle Dokumente pro “bucket”.
17
Das Aggregations Framework (aggs)2 Aggregationstypen
‣ terms
‣ range
‣ date range
‣ histogram
‣ date histogram
‣ geo distance
‣ geohash grid
‣ ...
‣ min
‣ max
‣ sum
‣ avg
‣ value count
‣ percentiles
‣ cardinality
‣ ...
18
Das Aggregations Framework (aggs)Viele Aggregators adhoc verfügbar
my_aggregation:
19
Das Aggregations Framework (aggs)spezifische Analysen durch “nested aggregators” realisierbar
"aggregations": {"<aggregation_name>": {
"<aggregation_type>": {<aggregation_body>
},["aggregations": { [<sub_aggregation>]* }]
}[,"<aggregation_name_2>": { … }]*
}
bucket 1 bucket 2 bucket n metrics…
20
‣ Elasticsearch für Datenanalyse:
‣ Aggregations Framework
‣ Analyse auch von Streamdaten
‣ ELK stack (ingestion + analysis + visualization)
‣ Plus: gemeinsame Analyse von strukturieren & unstrukturierten Daten
‣ Elasticsearch für Big Data
‣ skalierbarer & hochverfügbarer Document Store für Suche / Analyse
‣ Hadoop-Integration (CDH5, Hortenworks HDP, MapR)
‣ Import von großen Datenmengen über logstash oder flume
Zusammenfassung
21
Vielen Dank für Ihre Aufmerksamkeit!
Kontakt
inovex GmbHBernhard PflugfelderBig Data Engineer
Cell: +49 173 3181-088Mail: [email protected]
inovex GmbHLudwig-Erhard-Allee 676131 KarlsruheTel.: +49 721 619 [email protected]