SQL on Hadoop für praktikables 

BI auf Big Data
!
Hans-Peter Zorn und Dr. Dominik Benz,
Inovex Gmbh
2
War nicht BigData das gleiche	

NoSQL?
3
Wie viele SQL Lösungen für Hadoop	

gibt es mittlerweile?
4
!
No SQL!?
Hive
Presto
Hive on Spark
Shark
Hive-on-Tez
Tajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigSQL
Aster SQL/Mapreduce
Oracle Hadoop Connector
InfiniDB
Kylin
5
Agenda
• Warum SQL,Anwendungfälle	

• Überblick Hive	

• Wie kann Hive verbessert werden	

• SQL-Engines:Welche für was?	

• Zusammenfassung
6
Warum jetzt doch SQL?
flickr.com/salynaz
• Türöffner zur BigData-Welt	

• Kenntnisse weit
verbreitet	

• Software:Treiber
vorhanden flickr.com/salynaz
7
No SQL?
Hive
Presto
Hive on Spark
Shark
Hive-on-Tez
Tajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigSQL
Aster SQL/Mapreduce
Oracle Hadoop Connector InfiniDB
Kylin
8
Hive
ursprünglich von Facebook
• ursprünglich von Facebook	

• Compiliert HiveQL, ein SQL-Dialekt, zu
MapReduce-Jobs	

• Schema wird separat zu den Daten
abgelegt: Metastore
9
Hive Architektur
Meta
store
Hive	

Server2
Parser,
Analyzer,
Compiler
Anwender
HadoopHive
Query
10
Hive
ETL: gut geeignet
• ETL: gut geeignet	

• Ad-hoc: Zu hohe Latenz	

• Analytics: Latenz, Sprachumfang ungenügend
11
Was kann man besser machen? Oder:	

Warum ist Hive wie es ist
12
Hive auf Mapreduce
Rot: Plattenzugriff
Kunden Adressen Käufe Produkte
Map Map
Reduce
Temporärtabelle
Map
Reduce
Reduce-side
Join
HDFS
Shuffle
Shuffle
HDFS
HDFS
HDFS
Map-Side
Join
HDFS
HDFS
HDFS
HDFS
Zieltabelle
13
Optimiertes Hive: DAGs
Kunden Adressen Käufe Produkte
Map Map
Reduce
Reduce
Reduce-side
Join
Shuffle
Shuffle
Map-Side
Join
HDFS
HDFS
HDFS
HDFS
Adressen
HDFS
14
Hive
Presto
Hive on Spark
Shark
Hive-on-Tez
Tajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigQuery
Aster SQL/Mapreduce
Oracle Hadoop Connector InfiniDB
Kylin
15
MPP (massive parallel processing)
Datenbanken
HDFS
Slave
(blackbox)
Master
Slave
(blackbox)
Slave
(blackbox)
Slave
(blackbox)
HDFS HDFS HDFS
16
MPP-basiert
Hive
Presto
Hive on Spark
Shark
Hive-on-Tez
Tajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigSQL
Aster SQL/Mapreduce
Oracle Hadoop Connector InfiniDB
Kylin
17
No SQL!?
Hive
Presto
Hive on Spark
Shark
Hive-on-Tez
Tajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigSQL
Aster SQL/Mapreduce
Oracle Hadoop Connector InfiniDB
Kylin
18
Stinger initiative
• Hortonworks/Microsoft	

• Hive weiterentwickeln	

• Geschwindigkeit:Tez, ORC	

• SQL-Features,Analytische Queries (OVER)	

• Security (GRANT)
19
Tez und Spark
TEZ
Hive
Spark
Spark MR
YARN
• YARN:Tez, Spark
und Hive
nebeneinander	

• Tez: Neuer,
spezialisierter	

• Spark: generischer,
viel Monumentum
TEZ
Hive
Spark
Spark MR
YARN
20
Impala
• MPP-basiert	

• Queries zu nativem Code	

• Speicherhungrig, empfohlen 128GB	

• keine strukturierten Datentypen	

• Zwischenergebnisse müssen in RAM passen
(bis Impala 2.0)
21
Facebooks Presto
• MPP-Engine	

• Discovery-Server + Worker-Nodes	

• Struktur-Datentypen -> JSON	

• Hive, Cassandra, MySQL	

• Anwendung bei Facebook: Fact-table in Hive,
Dimensions in MySQL	

• einfaches Deployment
22
Apache Drill
• MapR’s 	

• Schema-on-Read	

• Connectoren für Hive, HBase, JSON, CSV.	

• Joins über mehrere Quellen hinweg	

• Compliliert Queries zu Java-Byte-Code	

• Version 0.5.0
23
Kylin
Sehr neu, entwickelt von eBay
(M)OLAP Engine
Aggregate werden in HBase gespeichert
24
Saiku - Beispiel 2
25
Mondrian mit Hive / Impala + Saiku UI
26
Mondrian mit Kylin
27
Doch einige Zahlen
50,91&
34,31&
16,69&
30,96&
39,43&
5,25&
9,25&
0,00&
10,00&
20,00&
30,00&
40,00&
50,00&
60,00&
70,00&
Hive&
Shark&
Shark/Cluster&
Im
pala&
Presto&
Drill&
Tajo&
28
Resume I
Zahlen noch unzuverlässig
Schnell
Ausgereift
Connectivity
Sprach-	

UmfangHive
PrestoImpala
Drill
Tez/Spark
Tajo
Resumé
• Extrem schnell wachsendes, sich änderndes
Umfeld.
• Unübersichtlich
• Keine „One-Size-Fits-All“ Lösung bisher
• Anhand des individuellen Anwendungsfalles zu
evaluieren.
30
Kontakt
!
Hans-Peter Zorn
Data Management & Analytics
!
inovex GmbH
Office Karlsruhe
Ludwig-Erhard-Allee 6
76131 Karlsruhe
!
0173 31 81 093
hzorn@inovex.de
!
Vielen Dank für Eure Aufmerksamkeit!

Sql on-hadoop-fuer-praktikables-bi-auf-big-data-zorn-benz-osbi-workshop-05.03.2015