Apache Kaylin: OLAP Cubes on Hadoop

490 Aufrufe

Veröffentlicht am

Speaker: Sébastien Jelsch, inovex
data2day
September 2015

Mehr Vorträge: https://www.inovex.de/de/content-pool/vortraege/

Veröffentlicht in: Software
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
490
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
6
Aktionen
Geteilt
0
Downloads
6
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Apache Kaylin: OLAP Cubes on Hadoop

  1. 1. Sébastien Jelsch Karlsruhe, 29.09.2015 Apache Kylin: OLAP Cubes on Hadoop
  2. 2. 1Apache 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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 Wine Karlsruhe Pforzheim Hamburg 2013 2014 2015
  7. 7. 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 Kombinationen Cuboid: Eine einzelne Kombination Anzahl Cuboids wächst exponentiell 0-Cuboid N-Cuboid
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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 2014 Apache Incubator Projekt seit: 25. November 2014 Aktuelle Version: 1.0 (6. September 2015) heise Developer: Apache Kylin - OLAP im Big-Data-Maßstab (http://heise.de/-2824878) 10
  13. 13. 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 OLAP Cube (HBase) OLAP Cube (HBase)Metadata Cube Build Engine Hive HDFS Star Schema Data Key Value Data Mid Latency Low Latency SQLSQL JDBC / ODBC
  14. 14. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Build Prozess 12 Source Hive Tables HiveQL Dimension Dictionaries Intermediate Hive Table HiveQL MapReduce HDFS Sequence Files N-Cuboid (1) (2) (3)
  15. 15. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Build Prozess 13 MapReduce N-Cuboid HDFS Sequence Files N-1-Cuboid HDFS Sequence Files 0-Cuboid HDFS Sequence Files ... MapReduce MapReduce HFiles HBase Bulk Import
  16. 16. 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
  17. 17. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 15
  18. 18. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 16
  19. 19. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 17
  20. 20. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 18
  21. 21. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 19
  22. 22. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Aggregation Groups Problem: Anzahl Cuboids wächst exponentiell Beispiel: Cube mit 30 Dimensionen Anzahl Cuboids: 2³º > 1 Milliarde Lösung: Partial Cube Einteilung des Cubes in Aggregation Groups Beispiel: Cube mit 30 Dimensionen à 10 Dimensionen Anzahl Cuboids: 2¹º + 2¹º + 2¹º = 3072 20
  23. 23. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Monitoring 21
  24. 24. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: SQL Interface 22
  25. 25. 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
  26. 26. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin und MDX SQL Rückgabe: 2-dimensional Für mehrere Dimensionen wurde SQL nicht konzipiert Wünschenswert: ▪ Mehrdimensionale Rückgabe ▪ Hierarchien und Levels in den Daten berücksichtigen 24 Abfragesprache: MDX
  27. 27. 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
  28. 28. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, Cuboids ... MondrianMondrian Schema Measures Dimensions Hierarchies Levels Attributes XML MDX SQL
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. 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
  34. 34. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Q&A Fragen? 32
  35. 35. Kontakt Sébastien Jelsch Big Data Scientist inovex GmbH Office Karlsruhe Ludwig-Erhard-Allee 6 76131 Karlsruhe Tel: 0176-45786280 E-Mail: sebastien.jelsch@inovex.de Twitter: @inovexgmbh | @Mustangore Vielen Dank für Ihre Aufmerksamkeit

×