SQL on Hadoop für praktikables BI auf Big Data Hans

Werbung
SQL on Hadoop für praktikables BI auf Big Data
!
Hans-Peter Zorn und Dr. Dominik Benz,
Inovex Gmbh
War nicht BigData das gleiche
NoSQL?
2
Wie viele SQL Lösungen für Hadoop
gibt es mittlerweile?
3
!
No SQL!?
Kylin
Splice
Oracle Hadoop Connector
InfiniDB
Pivotal HAWQ
Hive on Spark
Shark
Hive-on-Tez
BigSQL
Trafodion
Tajo
Hive
Lingual
Presto
Impala
Phoenix
Apache Drill
Hadapt
Spark SQL
CitusDB
Aster SQL/Mapreduce
IBM BigSQL
4
Agenda
•
•
•
•
•
Warum SQL, Anwendungfälle
Überblick Hive
Wie kann Hive verbessert werden
SQL-Engines: Welche für was?
Zusammenfassung
5
Warum jetzt doch SQL?
• Türöffner zur BigData-Welt
• Kenntnisse weit
verbreitet
• Software:Treiber
vorhanden
flickr.com/salynaz
6
No SQL?
Oracle Hadoop Connector
Kylin
Hive on Spark
Splice
InfiniDB
Pivotal HAWQ
Shark
Hive-on-Tez
BigSQL
Trafodion
Tajo
Hive
Phoenix
Lingual
Presto
Impala
Apache Drill
Hadapt
Spark SQL
CitusDB
Aster SQL/Mapreduce
IBM BigSQL
7
Hive
• ursprünglich von Facebook
• Compiliert HiveQL, ein SQL-Dialekt, zu
MapReduce-Jobs
• Schema wird separat zu den Daten
abgelegt: Metastore
ursprünglich von Facebook
8
Hive Architektur
Anwender
Query
Hive
Hadoop
Hive
Server2
Meta
store
Parser,
Analyzer,
Compiler
9
Hive
• ETL: gut geeignet
• Ad-hoc: Zu hohe Latenz
• Analytics: Latenz, Sprachumfang ungenügend
ETL: gut geeignet
10
Was kann man besser machen? Oder:
Warum ist Hive wie es ist
11
Hive auf Mapreduce
HDFS
Zieltabelle
Rot: Plattenzugriff
Reduce
Shuffle
HDFS
Map
Reduce-side
Join
Map-Side
Join
Temporärtabelle
S
Shuffle
FS
Reduce
HD
HDF
Adressen
Käufe
FS
HD
HD
FS
Kunden
FS
HD
HD
Map
FS
Map
Produkte
12
Optimiertes Hive: DAGs
HDFS
Adressen
Shuffle
Reduce
Reduce
Shuffle
Adressen
Käufe
HD
FS
Map
FS
FS
FS
HD
HD
Kunden
Map-Side
Join
Map
HD
Reduce-side
Join
Produkte
13
Splice
Oracle Hadoop Connector
Kylin
InfiniDB
Pivotal HAWQ
Hive on Spark
Shark
Hive-on-Tez
BigSQL
Trafodion
Tajo
Hive
Lingual
Presto
Impala
Phoenix
Apache Drill
Hadapt
Spark SQL
CitusDB
Aster SQL/Mapreduce
IBM BigQuery
14
MPP (massive parallel processing)
Datenbanken
Master
Slave
Slave
Slave
Slave
(blackbox) (blackbox) (blackbox) (blackbox)
HDFS
HDFS
HDFS
HDFS
15
MPP-basiert
Splice
Oracle Hadoop Connector
Kylin
InfiniDB
Pivotal HAWQ
Hive on Spark
Shark
Hive-on-Tez
BigSQL
Trafodion
Tajo
Hive
Lingual
Presto
Impala
Phoenix
Apache Drill
Hadapt
Spark SQL
CitusDB
Aster SQL/Mapreduce
IBM BigSQL
16
No SQL!?
Splice
Oracle Hadoop Connector
Kylin
InfiniDB
Pivotal HAWQ
Hive on Spark
Shark
Hive-on-Tez
BigSQL
Trafodion
Tajo
Hive
Lingual
Presto
Impala
Phoenix
Apache Drill
Hadapt
Spark SQL
CitusDB
Aster SQL/Mapreduce
IBM BigSQL
17
Stinger initiative
• Hortonworks/Microsoft
• Hive weiterentwickeln
• Geschwindigkeit: Tez, ORC
• SQL-Features, Analytische Queries (OVER)
• Security (GRANT)
18
Tez und Spark
TEZ
Hive
Spark
Spark
MR
YARN
•
YARN: Tez, Spark
und Hive
nebeneinander
•
Tez: Neuer,
spezialisierter
•
Spark: generischer,
viel Monumentum
19
Impala
• MPP-basiert
• Queries zu nativem Code
• Speicherhungrig, empfohlen 128GB
• keine strukturierten Datentypen
• Zwischenergebnisse müssen in RAM passen
(bis Impala 2.0)
20
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
21
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
22
Kylin
Sehr neu, entwickelt von eBay
(M)OLAP Engine
Aggregate werden in HBase gespeichert
23
Saiku - Beispiel 2
24
Mondrian mit Hive / Impala + Saiku UI
25
Mondrian mit Kylin
26
Doch einige Zahlen
70,00&
60,00&
50,91&
50,00&
39,43&
40,00&
34,31&
30,96&
30,00&
16,69&
20,00&
9,25&
10,00&
5,25&
&
jo
Ta
Dr
ill&
o&
&
la
Pr
es
t
lu
ar
k/
C
Sh
Im
pa
st
er
&
ar
k&
Sh
Hi
ve
&
0,00&
27
Resume I
Schnell
Ausgereift
Zahlen noch unzuverlässig
Connectivity
Drill
Tajo
Impala
Presto
Tez/Spark
Hive
Sprach-
Umfang
28
Resumé
•
Extrem schnell wachsendes, sich änderndes
Umfeld.
•
Unübersichtlich
•
Keine „One-Size-Fits-All“ Lösung bisher
•
Anhand des individuellen Anwendungsfalles zu
evaluieren.
Vielen Dank für Eure Aufmerksamkeit!
Kontakt
!
Hans-Peter Zorn
Data Management & Analytics
!
inovex GmbH
Office Karlsruhe
Ludwig-Erhard-Allee 6
76131 Karlsruhe
!
0173 31 81 093
[email protected]
!
30
Herunterladen