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

SQL on Hadoop für praktikables BI auf Big Data

Jul 17, 2015

Download

Technology

inovex GmbH
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

Page 2: SQL on Hadoop für praktikables BI auf Big Data

2

War nicht BigData das gleiche NoSQL?

Page 3: SQL on Hadoop für praktikables BI auf Big Data

3

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

Page 4: SQL on Hadoop für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

9

Hive Architektur

Metastore

Hive Server2

Parser, Analyzer, Compiler

Anwender

HadoopHiveQuery

Page 10: SQL on Hadoop für praktikables BI auf Big Data

10

Hive

ETL: gut geeignet

• ETL: gut geeignet

• Ad-hoc: Zu hohe Latenz

• Analytics: Latenz, Sprachumfang ungenügend

Page 11: SQL on Hadoop für praktikables BI auf Big Data

11

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

Page 12: SQL on Hadoop für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

15

MPP (massive parallel processing) Datenbanken

HDFS

Slave (blackbox)

Master

Slave (blackbox)

Slave (blackbox)

Slave (blackbox)

HDFS HDFS HDFS

Page 16: SQL on Hadoop für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

18

Stinger initiative

• Hortonworks/Microsoft

• Hive weiterentwickeln

• Geschwindigkeit: Tez, ORC

• SQL-Features, Analytische Queries (OVER)

• Security (GRANT)

Page 19: SQL on Hadoop für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

23

Kylin

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

Page 24: SQL on Hadoop für praktikables BI auf Big Data

24

Saiku - Beispiel 2

Page 25: SQL on Hadoop für praktikables BI auf Big Data

25

Mondrian mit Hive / Impala + Saiku UI

Page 26: SQL on Hadoop für praktikables BI auf Big Data

26

Mondrian mit Kylin

Page 27: SQL on Hadoop für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

28

Resume I

Zahlen noch unzuverlässig

Schnell

Ausgereift

Connectivity

Sprach- UmfangHive

PrestoImpalaDrill

Tez/Spark

Tajo

Page 29: SQL on Hadoop für praktikables BI auf Big Data

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 für praktikables BI auf Big Data

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!