karlsruhe, 29.09.2015 sébastien jelsch - inovex gmbh · apache kylin + mondrian: die idee 26 saiku...
TRANSCRIPT
1 Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
1
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
OLTP vs. OLAP
OLTP: OnLine Transaction Processing▪ Transaktionsorientierte Datenzugriffe▪ Wahlfreie Lese- und Schreibzugriffe
OLAP: OnLine Analytical Processing▪ Konsolidierung der Daten▪ Analyse gemäß mehreren Dimensionen
2
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Einführung in OLAP
OLAP: Measures und Dimensionen
3
Sales Quantity
Sales Profit
Measures sind numerisch
Product
Category
Name
Color
Location
Region
Nation
City
Date
Day
Month
Year
Dimensionen beschreiben die Daten
OLAP Cube
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Einführung in OLAP
4
8 7 14
12 22 19
30 15 25Beer
Water
WineK
arls
ruhe
Pfo
rzhe
im
Ham
burg
20132014
2015
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Einführung in OLAP
5
1,1,1,0 1,1,0,1
1,1,1,1
1,0,1,1 0,1,1,1
0,1,1,0
1,0,0,0 0,1,0,0 0,0,1,0 0,0,0,1
0,0,0,0
0,0,1,10,1,0,11,0,0,11,0,1,01,1,0,0
Cube: Alle KombinationenCuboid: Eine einzelne Kombination
Anzahl Cuboids wächst exponentiell
0-Cuboid
N-Cuboid
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Einführung in OLAP
Das ist zwar schön und gut, aber…Wie sieht es bei Big Data aus?
6
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Big Data
Situation▪ wachsende Datenmenge
○ Speicherung in Hadoop▪ Beschränkung bestehender Business Intelligence Tools
○ begrenzte Integration mit Hadoop○ beschränkte horizontale Skalierung○ hohe Latenz von interaktiven Abfragen
7
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
OLAP und Big Data
Ziele▪ OLAP Support und Funktionalität▪ Analyse im Sekundenbereich▪ ANSI SQL für Analysten▪ Integration in existierende BI-Tools▪ Gleichzeitige Nutzung bei > 1000 Benutzer▪ Horizontale Skalierung bei großen Datenmengen
8
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
9
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Was ist Apache Kylin?
Lösung: Apache Kylin
Extreme OLAP Engine für Big Data▪ verteilte und multidimensionale Analyse-Engine▪ SQL Interface▪ basiert auf Hadoop-Ökosystem
Open Source seit: 1. Oktober 2014Apache Incubator Projekt seit: 25. November 2014Aktuelle Version: 1.0 (6. September 2015)
heise Developer: Apache Kylin - OLAP im Big-Data-Maßstab (http://heise.de/-2824878)
10
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Architektur
11
3rd Party App Web App BI Tools
REST Server
Query Engine
Routing
OLAPCube
(HBase)OLAPCube
(HBase)Metadata
Cube Build Engine
HiveHDFS
Star Schema Data Key Value Data
Mid Latency Low Latency
SQLSQL JDBC / ODBC
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Cube Build Prozess
12
SourceHive Tables
HiveQL
DimensionDictionaries
Intermediate Hive Table
HiveQL MapReduce
HDFSSequence
Files
N-Cuboid
(1)
(2) (3)
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Cube Build Prozess
13
MapReduce
N-Cuboid
HDFSSequence
Files
N-1-Cuboid
HDFSSequence
Files
0-Cuboid
HDFSSequence
Files
... MapReduce
MapReduce
HFiles
HBase
Bulk Import
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
14
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Aggregation Groups
Problem: Anzahl Cuboids wächst exponentiellBeispiel:
Cube mit 30 DimensionenAnzahl Cuboids: 2³º > 1 Milliarde
Lösung: Partial CubeEinteilung des Cubes in Aggregation GroupsBeispiel:
Cube mit 30 Dimensionen à 10 DimensionenAnzahl Cuboids: 2¹º + 2¹º + 2¹º = 3072
20
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
23
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin und MDX
SQL Rückgabe: 2-dimensionalFür mehrere Dimensionen wurde SQL nicht konzipiert
Wünschenswert:▪ Mehrdimensionale Rückgabe▪ Hierarchien und Levels in den Daten berücksichtigen
24
Abfragesprache: MDX
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Pentahos Mondrian
Mondrian▪ OLAP Engine▪ Transformation der MDX-Anfragen in SQL▪ multidimensionale Repräsentation der Daten▪ integriert in Saiku / Pentahos Business Analytics Platform▪ Erweiterbar durch SQL-Dialekt
○ z.B. MySQL, Postgres, Hive, Impala, ...
25
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin + Mondrian: Die Idee
26
Saiku
Apache KylinHBase, Cuboids ...
MondrianMondrian Schema
MeasuresDimensions
HierarchiesLevels
Attributes
XMLMDX
SQL
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin + Mondrian: Umsetzung
Umsetzung:▪ JDBC-Treiber von Kylin optimiert▪ Fehler in der SQL-Engine von Kylin behoben
TBD:▪ Kylin Dialekt in Mondrian integrieren
Erfolgreiche Tests:Saiku und Mondrian 4.4 (Lagunitas)
Github: https://github.com/mustangore/kylin-mondrian-interaction
27
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
28
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Roadmap
2015▪ Kylin 2.0: Near Real-time (Inverted Index*)▪ Cube Build mit Apache Spark▪ Dokumentation und Tutorials▪ Apache Top Level Projekt
ab 2016▪ Excel Support▪ HOLAP▪ Automation▪ …
* JIRA Ticket: https://issues.apache.org/jira/browse/KYLIN-972
29
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
30
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Fazit
▪ Extrem schnelle und skalierbare OLAP Engine▪ ANSI SQL Interface on Hadoop▪ Integration in existierende BI Tools▪ MOLAP Cube▪ Inkrementeller Refresh des Cubes▪ Release 2.0 noch in 2015
31
Kontakt
Sébastien JelschBig Data Scientist
inovex GmbHOffice KarlsruheLudwig-Erhard-Allee 676131 Karlsruhe
Tel: 0176-45786280E-Mail: [email protected]: @inovexgmbh | @Mustangore
Vielen Dank für Ihre Aufmerksamkeit