SQL on Hadoop für praktikables BI auf Big Data

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

Transcript of SQL on Hadoop für praktikables BI auf Big Data

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!