Top Banner
Sébastien Jelsch Karlsruhe, 29.09.2015 Apache Kylin: OLAP Cubes on Hadoop
35

Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Jul 28, 2018

Download

Documents

dokhue
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Sébastien JelschKarlsruhe, 29.09.2015

Apache Kylin: OLAP Cubes on Hadoop

Page 2: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 3: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 4: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 5: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 6: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 7: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 8: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 9: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 10: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 11: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 12: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 13: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 14: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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)

Page 15: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 16: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 17: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch

Apache Kylin: Cube Designer

15

Page 18: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch

Apache Kylin: Cube Designer

16

Page 19: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch

Apache Kylin: Cube Designer

17

Page 20: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch

Apache Kylin: Cube Designer

18

Page 21: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch

Apache Kylin: Cube Designer

19

Page 22: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 23: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch

Apache Kylin: Monitoring

21

Page 24: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch

Apache Kylin: SQL Interface

22

Page 25: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 26: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 27: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 28: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 29: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 30: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 31: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 32: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 33: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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

Page 34: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch

Q&A

Fragen?

32

Page 35: Karlsruhe, 29.09.2015 Sébastien Jelsch - inovex GmbH · Apache Kylin + Mondrian: Die Idee 26 Saiku Apache Kylin HBase, ... OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Roadmap

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