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

30
SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn und Dr. Dominik Benz, Inovex Gmbh

Upload: inovex-gmbh

Post on 17-Jul-2015

44 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

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

2

War nicht BigData das gleiche NoSQL?

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

3

Wie viele SQL Lösungen für Hadoop gibt es mittlerweile?

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

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

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

5

Agenda

• Warum SQL, Anwendungfälle

• Überblick Hive

• Wie kann Hive verbessert werden

• SQL-Engines: Welche für was?

• Zusammenfassung

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

6

Warum jetzt doch SQL?

flickr.com/salynaz

• Türöffner zur BigData-Welt

• Kenntnisse weit verbreitet

• Software:Treiber vorhanden flickr.com/salynaz

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

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

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

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

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

9

Hive Architektur

Metastore

Hive Server2

Parser, Analyzer, Compiler

Anwender

HadoopHiveQuery

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

10

Hive

ETL: gut geeignet

• ETL: gut geeignet

• Ad-hoc: Zu hohe Latenz

• Analytics: Latenz, Sprachumfang ungenügend

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

11

Was kann man besser machen? Oder: Warum ist Hive wie es ist

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

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

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

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

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

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

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

15

MPP (massive parallel processing) Datenbanken

HDFS

Slave (blackbox)

Master

Slave (blackbox)

Slave (blackbox)

Slave (blackbox)

HDFS HDFS HDFS

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

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

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

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

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

18

Stinger initiative

• Hortonworks/Microsoft

• Hive weiterentwickeln

• Geschwindigkeit: Tez, ORC

• SQL-Features, Analytische Queries (OVER)

• Security (GRANT)

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

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

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

20

Impala

• MPP-basiert

• Queries zu nativem Code

• Speicherhungrig, empfohlen 128GB

• keine strukturierten Datentypen

• Zwischenergebnisse müssen in RAM passen (bis Impala 2.0)

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

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

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

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

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

23

Kylin

Sehr neu, entwickelt von eBay (M)OLAP Engine Aggregate werden in HBase gespeichert

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

24

Saiku - Beispiel 2

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

25

Mondrian mit Hive / Impala + Saiku UI

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

26

Mondrian mit Kylin

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

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&

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

28

Resume I

Zahlen noch unzuverlässig

Schnell

Ausgereift

Connectivity

Sprach- UmfangHive

PrestoImpalaDrill

Tez/Spark

Tajo

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

Resumé• Extrem schnell wachsendes, sich änderndes

Umfeld.

• Unübersichtlich

• Keine „One-Size-Fits-All“ Lösung bisher

• Anhand des individuellen Anwendungsfalles zu evaluieren.

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

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!