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

SQL on Hadoop für praktikables BI auf Big Data

Embed Size (px)

Citation preview

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!