sql on hadoop für praktikables bi auf big data hans-peter zorn … · 2019-03-13 · oracle hadoop...

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

Upload: others

Post on 05-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

2

War nicht BigData das gleiche NoSQL?

Page 3: SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

3

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

Page 4: SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

9

Hive Architektur

Metastore

Hive Server2

Parser, Analyzer, Compiler

Anwender

HadoopHiveQuery

Page 10: SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

12

Hive auf Mapreduce

Rot: Plattenzugriff

Kunden Adressen Käufe Produkte

Map Map

Reduce

Temporärtabelle

Map

Reduce

Reduce-sideJoin

HDFS

Shuffle

Shuffle

HDFS

HDFS

HDFS

Map-SideJoin

HDFS

HDFSHD

FS

HDFS

Zieltabelle

Page 13: SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

13

Optimiertes Hive: DAGs

Kunden Adressen Käufe Produkte

Map Map

Reduce

Reduce

Reduce-sideJoin

Shuffle

Shuffle

Map-SideJoin

HDFS

HDFSHD

FS

HDFS

Adressen

HDFS

Page 14: SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

24

Saiku - Beispiel 2

Page 25: SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

25

Mondrian mit Hive / Impala + Saiku UI

Page 26: SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

26

Mondrian mit Kylin

Page 27: SQL on Hadoop für praktikables BI auf Big Data Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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 Hans-Peter Zorn … · 2019-03-13 · Oracle Hadoop Connector InfiniDB Kylin. 5 Agenda ... Hive-on-Tez Tajo Lingual Phoenix Apache

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!