SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Sébastien Jelsch
Karlsruhe, 29.09.2015
Apache Kylin: OLAP Cubes on Hadoop
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
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
Wine
Karlsruhe
Pforzheim
Hamburg
2013
2014
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 Kombinationen
Cuboid: 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 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
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
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)
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
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: Cube Designer
15
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Cube Designer
16
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Cube Designer
17
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Cube Designer
18
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Cube Designer
19
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
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Monitoring
21
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: SQL Interface
22
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-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
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 Kylin
HBase, Cuboids ...
MondrianMondrian Schema
Measures
Dimensions
Hierarchies
Levels
Attributes
XML
MDX
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
Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Q&A
Fragen?
32
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

Contenu connexe

Similaire à Apache Kaylin: OLAP Cubes on Hadoop

Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Torsten Kleiber
 
A NoSQL Summer - The Year After
A NoSQL Summer - The Year AfterA NoSQL Summer - The Year After
A NoSQL Summer - The Year AfterMeMo News AG
 
Webinar - ABAP CDS Views
Webinar - ABAP CDS ViewsWebinar - ABAP CDS Views
Webinar - ABAP CDS ViewsCadaxo GmbH
 
Data Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur TechnologieData Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur TechnologieJens Albrecht
 
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitEchtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitAWS Germany
 
Reif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-ApplikationenReif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-Applikationenadesso AG
 
openstack Übersicht @GPN15
openstack Übersicht @GPN15openstack Übersicht @GPN15
openstack Übersicht @GPN15m1no
 
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...Trivadis
 
SCHNELLES BIG-DATA-DEYPLOMENT DURCH CONTAINER IN DER CLOUD
SCHNELLES BIG-DATA-DEYPLOMENT DURCH CONTAINER IN DER CLOUDSCHNELLES BIG-DATA-DEYPLOMENT DURCH CONTAINER IN DER CLOUD
SCHNELLES BIG-DATA-DEYPLOMENT DURCH CONTAINER IN DER CLOUDinovex GmbH
 
Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)NETWAYS
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumTEC Campus
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatengeKarin Patenge
 
Hadoop in modernen BI-Infrastrukturen
Hadoop in modernen BI-InfrastrukturenHadoop in modernen BI-Infrastrukturen
Hadoop in modernen BI-Infrastruktureninovex GmbH
 
Cloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu ServerlessCloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu ServerlessOPEN KNOWLEDGE GmbH
 
Dv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automationDv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automationTorsten Glunde
 
Oracle hadoop doag-big-data_09_2014_gpi
Oracle hadoop doag-big-data_09_2014_gpiOracle hadoop doag-big-data_09_2014_gpi
Oracle hadoop doag-big-data_09_2014_gpiGunther Pippèrr
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudAndreas Günzel
 

Similaire à Apache Kaylin: OLAP Cubes on Hadoop (20)

Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020
 
abaCal revolutioniert die Formel-Berechnungen im Unternehmen
abaCal revolutioniert die Formel-Berechnungen im UnternehmenabaCal revolutioniert die Formel-Berechnungen im Unternehmen
abaCal revolutioniert die Formel-Berechnungen im Unternehmen
 
A NoSQL Summer - The Year After
A NoSQL Summer - The Year AfterA NoSQL Summer - The Year After
A NoSQL Summer - The Year After
 
Webinar - ABAP CDS Views
Webinar - ABAP CDS ViewsWebinar - ABAP CDS Views
Webinar - ABAP CDS Views
 
Data Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur TechnologieData Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur Technologie
 
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitEchtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
 
SAP BW im Umbruch
SAP BW im UmbruchSAP BW im Umbruch
SAP BW im Umbruch
 
Reif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-ApplikationenReif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-Applikationen
 
openstack Übersicht @GPN15
openstack Übersicht @GPN15openstack Übersicht @GPN15
openstack Übersicht @GPN15
 
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
 
SCHNELLES BIG-DATA-DEYPLOMENT DURCH CONTAINER IN DER CLOUD
SCHNELLES BIG-DATA-DEYPLOMENT DURCH CONTAINER IN DER CLOUDSCHNELLES BIG-DATA-DEYPLOMENT DURCH CONTAINER IN DER CLOUD
SCHNELLES BIG-DATA-DEYPLOMENT DURCH CONTAINER IN DER CLOUD
 
Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
 
Hadoop in modernen BI-Infrastrukturen
Hadoop in modernen BI-InfrastrukturenHadoop in modernen BI-Infrastrukturen
Hadoop in modernen BI-Infrastrukturen
 
Cloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu ServerlessCloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu Serverless
 
Oracle DB 12c SQL Tuning
Oracle DB 12c SQL TuningOracle DB 12c SQL Tuning
Oracle DB 12c SQL Tuning
 
Dv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automationDv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automation
 
Oracle hadoop doag-big-data_09_2014_gpi
Oracle hadoop doag-big-data_09_2014_gpiOracle hadoop doag-big-data_09_2014_gpi
Oracle hadoop doag-big-data_09_2014_gpi
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
 

Plus de inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

Plus de inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Apache Kaylin: OLAP Cubes on Hadoop

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 15
  • 18. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 16
  • 19. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 17
  • 20. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 18
  • 21. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Cube Designer 19
  • 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. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: Monitoring 21
  • 24. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Apache Kylin: SQL Interface 22
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch Q&A Fragen? 32
  • 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