Sql on-hadoop-fuer-praktikables-bi-auf-big-data-zorn-benz-osbi-workshop-05.03.2015
-
Upload
inovex-gmbh -
Category
Documents
-
view
44 -
download
0
Transcript of Sql on-hadoop-fuer-praktikables-bi-auf-big-data-zorn-benz-osbi-workshop-05.03.2015
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!?
HivePresto
Hive on SparkShark
Hive-on-TezTajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigSQLAster SQL/Mapreduce
Oracle Hadoop ConnectorInfiniDB
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 SparkShark
Hive-on-TezTajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigSQLAster 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
Metastore
Hive Server2
Parser, Analyzer, Compiler
Anwender
HadoopHiveQuery
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-sideJoin
HD
FS
Shuffle
Shuffle
HDFS
HDFS
HD
FS
Map-SideJoin
HDFS
HDFS
HDFS
HDFS
Zieltabelle
13
Optimiertes Hive: DAGs
Kunden Adressen Käufe Produkte
Map Map
Reduce
Reduce
Reduce-sideJoin
Shuffle
Shuffle
Map-SideJoin
HDFS
HDFS
HDFS
HDFS
Adressen
HD
FS
14
HivePresto
Hive on SparkShark
Hive-on-TezTajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigQueryAster 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
HivePresto
Hive on SparkShark
Hive-on-TezTajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigSQLAster SQL/Mapreduce
Oracle Hadoop Connector InfiniDB
Kylin
17
No SQL!?
HivePresto
Hive on SparkShark
Hive-on-TezTajo
Lingual
Apache DrillPhoenix
Trafodion Hadapt
BigSQL
CitusDB
Impala
Spark SQL
Splice
Pivotal HAWQ
IBM BigSQLAster 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 HiveSpark
Spark MR
YARN
• YARN: Tez, Spark und Hive nebeneinander
• Tez: Neuer, spezialisierter
• Spark: generischer, viel Monumentum
TEZ HiveSpark
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&
Impala&
Presto&
Drill&
Tajo&
28
Resume I
Zahlen noch unzuverlässig
Schnell
Ausgereift
Connectivity
Sprach- UmfangHive
PrestoImpalaDrill
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 [email protected] !
Vielen Dank für Eure Aufmerksamkeit!