DOAG Konferenz + Ausstellung 2015 Nürnberg Referent

Werbung
einfach. gut. beraten.
Oracle Big Data
Konnektoren: Hadoop
und die Oracle DB
DOAG Konferenz +
Ausstellung 2016
Nürnberg
Philipp Loer
[email protected]
www.ordix.de
Agenda

Hadoop

Hive

OLH: Oracle Loader for Hadoop

OSCH: Oracle SQL Connector for Hadoop Distributed File System

Sqoop: Eine Alternative?

Live-Demo
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
2
Relationale Datenbank vs. Big Data
Relationale Datenbank
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
Big Data
3
Hadoop-Komponenten
Hadoop
2.0
Map
Reduce
Andere
YARN
HDFS
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
4
Hadoop vs. RDBMS
RDBMS
Hadoop
Nur strukturierte Daten
Un-, semi- oder strukturierte
Daten
Schema on write
Schema on read
Hohe Datenintegrität
Geringe Datenintegrität
Nicht linear skalierbar
Nahezu linear skalierbar
Write / Read / Upadate many
times
Write once / Read many
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
5
Agenda

Hadoop

Hive

OLH: Oracle Loader for Hadoop

OSCH: Oracle SQL Connector for Hadoop Distributed File System

Sqoop: Eine Alternative?

Live-Demo
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
6
Hive-Architektur
Hive Server 2
Client
Metastore
(Data Dictionary)
Big Data Cluster
(Hadoop)
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
7
Hive-Architektur – Hive Server 2
Hive Thrift Client
Client Applications
Hive JDBC Driver
Hive ODBC Driver
Hive Thrift Server
Hive Driver
Hive
Metastore
Processing & Resource
Management
MapReduce v2
TEZ
MapReduce v1
YARN
Distributed Storage
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
HDFS
8
Hive – Physikalische Speicherung

Speicherung der Daten erfolgt weiterhin in HDFS.

Jede Tabelle (bzw. Partition) wird in einem eigenen Verzeichnis im
HDFS-Dateisystem gespeichert.

Interne Tabellen der Default-Datenbank befinden sich in Unterverzeichnissen des
HDFS-Verzeichnisses /user/hive/warehouse. Für weitere Datenbanken wird
hier ein Unterverzeichnis <Datenbankname.db> erstellt.

Partitionen liegen in Unterverzeichnissen des Tabellenverzeichnisses.

Die Partition Entwickler der nach der Spalte Job partitionierten Tabelle emp
der Hive-Datenbank Scott befände sich im Verzeichnis
/user/hive/warehouse/scott.db/emp/job=entwickler/

Die Daten externer Tabellen befinden sich ebenfalls in HDFS, jedoch außerhalb
dieser Verzeichnisstruktur.
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
9
Hive – Beispiel CREATE TABLE
CREATE TABLE IF NOT EXISTS page_view(
viewTime INT,
userid BIGINT,
page_url STRING,
ip VARCHAR(64) COMMENT 'IP Address of the User'
)
COMMENT 'This is the page view table‘
PARTITIONED BY(page_url STRING)
CLUSTERED BY(userid) INTO 256 BUCKETS
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\;'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
10
Agenda

Hadoop

Hive

OLH: Oracle Loader for Hadoop

OSCH: Oracle SQL Connector for Hadoop Distributed File System

Sqoop: Eine Alternative?

Live-Demo
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
11
OLH – Oracle Loader for Hadoop

Ermöglicht das Laden von Daten aus Hadoop in eine Oracle DB
 Daten werden partitioniert, sortiert und in Oracle Datentypen konvertiert
 Vorteil: Auslagerung von Aufgaben in das Hadoop Cluster zur Reduzierung der
Datenbank-Last während des Ladevorgangs

Zwei Modi: Online und Offline
 Im Online Mode werden die Daten direkt in eine Oracle Datenbank geladen. Es gibt
dabei zwei Möglichkeiten: JDBC oder Direct Path
 Im Offlline Mode werden die vorbereiteten Daten in Data Pump Dateien in HDFS
abgelegt und können dann zu einem späteren Zeitpunkt geladen werden oder durch den
Oracle SQL Connector for Hadoop genutzt werden
 Konfiguration erfolgt über die Anlage einer XML-Datei
hadoop jar <OLH_HOME>/jlib/oraloader.jar
oracle.hadoop.loader.OraLoader \
-conf <PATH_TO_CONFIG.xml>\
-D mapred.reduce.tasks=4
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
12
OLH – Konfiguration: Input / Output
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
13
OLH – Konfiguration: Table Info
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
14
OLH – Konfiguration: Connect
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
15
Agenda

Hadoop

Hive

OLH: Oracle Loader for Hadoop

OSCH: Oracle SQL Connector for Hadoop Distributed File System

Sqoop: Eine Alternative?

Live-Demo
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
16
OSCH – Oracle SQL Connector for HDFS

Erlaubt den Zugriff aus einer Oracle Datenbank auf das Hadoop Cluster

Zugriff erfolgt durch die Anlage einer externen Tabelle
 Nur lesender Zugriff, kein DML, keine Indexes
 Join mit anderen Tabellen in der Oracle Datenbank möglich
  Verwendung wie auch die bisher bekannten externen Tabellen

Daten in Hadoop:
 Hive-Tabellen
 Textdateien in HDFS
 Vom Oracle Loader for Hadoop (OLH) erstellte Data Pump Dateien in HDFS

Ziel
 Zugriff auf Daten in Hadoop über externe Tabelle
 Bulk Load von Daten aus Hadoop
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
17
OSCH – Beispiel CREATE TABLE
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
18
Agenda

Hadoop

Hive

OLH: Oracle Loader for Hadoop

OSCH: Oracle SQL Connector for Hadoop Distributed File System

Sqoop: Eine Alternative?

Live-Demo
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
19
Was kann Sqoop?

Import und Export von Daten aus strukturierten Datenspeichern
(RDBMS, NoSQL-DB etc.).

Zusammenarbeit mit Oozie (Big Data Workflow Management),
um Import- und Export-Aufgaben zu ermöglichen.

Sqoop besitzt eine mehrschichtige Architektur, die es ermöglicht, neue
Datenspeicher durch die Erstellung spezifischer Konnektoren anzubinden.
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
20
Sqoop-Kommandozeile

Sqoop ist ein kommandozeilenbasiertes Werkzeug

Wichtigste Befehle: sqoop import bzw. sqoop export

Beispiel:
sqoop import \
--connect jdbc:oracle:thin:@//ppl_centos65:1521/ordix \
--table EMP \
--username scott \
--password tiger

Speicherung der Daten in HDFS, per default als csv-Datei
 Andere Dateiformate sind möglich

Import- und Export-Befehle haben weitere Optionen
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
21
Sqoop Import – Hive

Daten können durch Sqoop direkt in Hive-Tabellen importiert werden.

Zu verwendende Option: --hive-import

Während des Hive-Imports werden die Daten von den Datentypen des
Quellsystems in Hive-Datentypen konvertiert (z. B. ab Hive 1.2: VARCHAR2 in
VARCHAR).

Dateiformat entspricht dem Dateiformat, mit dem die Tabelle erstellt wurde
(z. B. Textfile mit Tabulator als Trennzeichen, SequnceFile etc.).

Nach Abschluss des Imports kann die Tabelle wie eine „normale“ Hive-Tabelle
verwendet werden.
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
22
Sqoop-Konnektoren

Generic JDBC:
Kann genutzt werden, um auf jede Datenbank zuzugreifen, die JDBC unterstützt.

Default Connector:
Unterstützt den Zugriff auf Oracle, MySQL, PostgreSQL, SQL Server und DB2.

Fast Path Connector:
MySQL und PostgreSQL

OraOOP:
Fast Path Connector für Oracle von Cloudera
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
23
Sqoop Server 2 – Coming soon …
RDBM
S

Neu-Implemtierung von Sqoop mit Client-Server-Modell

Derzeit (Stand November 2016) nicht für den produktiven Einsatz vorgesehen
Hadoop
Sqoop Server
JDBC Treiber
Map Job
Hadoo
p
Metadaten
Repository
connectors
connections
jobs
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
24
Agenda

Hadoop

Hive

OLH: Oracle Loader for Hadoop

OSCH: Oracle SQL Connector for Hadoop Distributed File System

Sqoop: Eine Alternative?

Live-Demo
DOAG Konferenz + Ausstellung 2016, Oracle Big Data Konnektoren, Philipp Loer
25
Vielen Dank für
Ihre Aufmerksamkeit!
Zentrale Paderborn
Karl-Schurz-Str. 19a
33100 Paderborn
Tel.: 05251 1063-0
Fax: 0180 1 67349 0
Seminarzentrum Wiesbaden
Kreuzberger Ring 13
65205 Wiesbaden
Tel.: 0611 77840-00
Weitere Geschäftsstellen
in Essen, Gersthofen,
Köln und Münster
[email protected]
www.ordix.de
Wir
Vielen
informieren
Dank für Sie stets
aktuell
Ihre Aufmerksamkeit!
in unserem Blog:
https://blog.ordix.de
Zentrale Paderborn
Karl-Schurz-Str. 19a
33100 Paderborn
Tel.: 05251 1063-0
Fax: 0180 1 67349 0
Seminarzentrum Wiesbaden
Kreuzberger Ring 13
65205 Wiesbaden
Tel.: 0611 77840-00
Weitere Geschäftsstellen
in Essen, Gersthofen,
Köln und Münster
[email protected]
www.ordix.de
Herunterladen