Big Data: Apache Hadoop Grundlagen

Ähnliche Dokumente
Big Data Informationen neu gelebt

IBM DB2 UNIX/Linux/Windows Backup und Hochverfügbarkeit mit HADR

Big Data in der Praxis

Apache HTTP Server Administration

Oracle Golden Gate. Seminarunterlage. Version vom

Solaris Virtualisierung mit ZFS und Container (Zonen)

IBM AIX Installation, Backup und Recovery mit NIM

Objektorientierung in Oracle

PostgreSQL Administration

Oracle Cloud Control. Seminarunterlage. Version vom

IBM DB2 Unix/Linux/Windows Backup und Hochverfügbarkeit mit HADR

Die wichtigsten Hadoop-Komponenten für Big Data mit SAS

Unix/Linux Grundlagen für Einsteiger

PHP Programmierung. Seminarunterlage. Version 1.07 vom

Perl Programmierung Grundlagen

Einleitung Big Data... Hadoop...

Linux Hochverfügbarkeits-Cluster

WildFly Application Server Administration

Big Data Technologien

Oracle Backup und Recovery mit RMAN

Oracle Weblogic Administration Grundlagen

Einführung in die objektorientierte Programmierung

MySQL Administration. Seminarunterlage. Version 3.02 vom

einfach. gut. beraten. Oracle Big Data Konnektoren: Hadoop und die Oracle DB DOAG Konferenz + Ausstellung 2016 Nürnberg Philipp Loer

WebSphere Application Server Installation

Linux Hochverfügbarkeits-Cluster

Tomcat Konfiguration und Administration

BIG DATA IM RETAIL-SEKTOR AM BEISPIEL KASSENBONDATEN BUSINESS ANALYTICS DAY

Linux Cluster mit Pacemaker und Heartbeat 3

Fast Analytics on Fast Data

IBM DB2 für Linux/Unix/Windows Monitoring und Tuning

Apache HTTP Server Administration

Schneller als Hadoop?

Einführung in XML. Seminarunterlage. Version 3.05 vom

Big Data im Retail-Sektor am Beispiel Kassenbondaten

Big Data Konnektoren: Hadoop und die Oracle DB

Fast Analytics on Fast Data

Einführung in Hadoop

JSP und Servlet Programmierung

Oracle Weblogic Administration Grundlagen

Continuous Integration (CI) Workshop

BIG SQL FOR HORTONWORKS (MOGELPACKUNG ODER GENIALER SCHACHZUG?)

DduP - Towards a Deduplication Framework utilising Apache Spark

Big Data. Professional IT Master. Prof. Dr. Ingo Claßen. Überblick. Verarbeitungsmodell. Verarbeitungsablauf. Verteilte Daten. Ressourcenmanagement

Oracle Backup und Recovery mit RMAN

Big Data in a Nutshell. Dr. Olaf Flebbe of ät oflebbe.de

Oracle Backup und Recovery

Oracle 18c Real Application Cluster (RAC) und Grid Infrastructure

Java GUI Entwicklung mit Swing

Erfahrungsbericht: Umstieg von RDBMS auf Big Data-Technologien

Big-Data-Technologien - Überblick - Prof. Dr. Jens Albrecht

IBM Informix Dynamic Server Hochverfügbarkeits-Technologien unter Unix

Java Performance Tuning

Beratung. Results, no Excuses. Consulting. Lösungen. Grown from Experience. Ventum Consulting. SQL auf Hadoop Oliver Gehlert Ventum Consulting

Oracle Big Data Discovery Ein Überblick

Hadoop. Eine Open-Source-Implementierung von MapReduce und BigTable. von Philipp Kemkes

Datenaustausch Hadoop & Oracle DB Carsten Herbe metafinanz Informationssysteme GmbH München

PHP Programmierung. Seminarunterlage. Version 1.02 vom

Web-Anwendungen mit JavaServer Faces

Java Persistence API mit Hibernate

Administration und Konfiguration für JBoss 7

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

Skalierbare Webanwendungen

IBM Informix SQL. Seminarunterlage. Version vom

Hadoop Administrator Training Viertägiges Intensivseminar

R.I.P Oracle-Datenbank. ggg

Solaris 11 Systemadministration Grundlagen

Data Warehouse Grundlagen

Hans-Peter Zorn Inovex GmbH. Wer gewinnt das SQL-Rennen auf der Hadoop-Strecke?

Oracle Cloud Control. Seminarunterlage. Version vom

Oracle Datenbankprogrammierung mit PL/SQL Aufbau

Oracle PL/SQL für Experten - Performance Analyse und Laufzeitoptimierung

RavenDB, schnell und skalierbar

MOC 6317A: SQL Server 2008 Database Administration (DBA) Kenntnisse auf den Stand von SQL Server 2008 bringen

IBM DB2 für Unix/Linux/Windows SQL Grundlagen

MATERNA GmbH

Nutzung der Scientific Computing Cluster. Lars-Peter Meyer

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

!! Waldemar Reger Köln,

Big Data und SQL - das passt! Philipp Loer ORDIX AG Paderborn

Oracle SQL. Seminarunterlage. Version vom

Hadoop Eine Erweiterung für die Oracle DB?

Administration und Konfiguration für JBOSS

Deep Dive in WebLogic Server und Multi- Tenancy

einfach. gut. beraten. Big Data und SQL - das passt! DOAG Konferenz + Ausstellung , Nürnberg Philipp Loer

Überblick Hadoop Einführung HDFS und MapReduce. DOAG Regionaltreffen München/Südbayern Februar 2014

Data Mart (Star Schema) Offload nach Hadoop

Oracle AWR und ASH Analyse und Interpretation

IT-Projektcontrolling

Google's BigTable: Ein verteiltes Speichersystem für strukturierte Daten. von Florian Eiteljörge

Websphere Application Server Installation und Administration

Data Pipelines mit zentralem Kosmos Kafka. Markus Bente

PL/SQL vs. Spark Umsteigertipps für's DWH

Oracle 12c Real Application Cluster (RAC) und Grid Infrastructure

Java Web Services. Seminarunterlage. Version 4.03 vom

NoSQL-Datenbanken und Hadoop im Zusammenspiel mit dem Data Warehouse

IBM Informix Tuning und Monitoring

Transkript:

Seminarunterlage Version: 1.07 Version 1.07 vom 5. September 2018

Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Firmen und beziehen sich auf Eintragungen in den USA oder USA-Warenzeichen. Weitere Logos und Produkt- oder Handelsnamen sind eingetragene Warenzeichen oder Warenzeichen der jeweiligen Unternehmen. Kein Teil dieser Dokumentation darf ohne vorherige schriftliche Genehmigung der weitergegeben oder benutzt werden. Die besitzt folgende Geschäftsstellen Adressen der Karl-Schurz-Straße 19a D-33100 Paderborn Tel.: (+49) 0 52 51 / 10 63-0 An der alten Ziegelei 5 D-48157 Münster Tel.: (+49) 02 51 / 9 24 35 00 Welser Straße 9 D-86368 Gersthofen Tel.: (+49) 08 21 / 507 492 0 Kreuzberger Ring 13 D-65205 Wiesbaden Tel.: (+49) 06 11 / 7 78 40 00 Wikingerstraße 18-20 D-51107 Köln Tel.: (+49) 02 21 / 8 70 61 0 Internet: http://www.ordix.de Email: seminare@ordix.de Seite 2 Version: 1.07

Inhaltsverzeichnis 1 Agenda... 8 1.1 Agenda... 9 2 Wie "big" ist Big Data?... 10 2.1 Agenda... 11 2.2 Wie "big" ist Big Data?... 12 2.3 3 V Modell... 13 2.4 Welche technischen Probleme sollen gelöst werden?... 14 2.5 Welche fachlichen Probleme sollen gelöst werden?... 15 2.6 Verteilte Datenhaltung im Cluster... 16 2.7 Verteilte Berechnung im Cluster... 17 2.8 Typische Probleme in verteilten Systemen... 18 2.9 Verfügbarkeit im Cluster... 19 2.10 Horizontale Skalierung mit Commodity Hardware... 20 2.11 PC Cluster... 21 2.12 Yahoo's Hadoop Cluster (2007)... 22 2.13 Zusammenfassung... 23 3 Hadoop Überblick... 24 3.1 Agenda... 25 3.2 Hadoop... 26 3.3 Hadoop Historie... 27 3.4 Hadoop Design Prinzipien... 28 3.5 "Data Locality Optimization"... 29 3.6 Hadoop Kernkomponenten... 30 3.7 HDFS - Hadoop Distributed File System... 31 3.8 File System Shell... 32 3.9 HDFS Schreiben... 33 3.10 HDFS Lesen... 34 3.11 Hadoop I/O... 35 3.12 YARN - Yet Another Resource Negotiator... 36 3.13 MapReduce Überblick... 37 3.14 MapReduce Beispiel... 38 3.15 MapReduce Phasen... 39 3.16 Unterschiede zwischen Hadoop 1 und Hadoop 2... 40 3.17 Neues in Hadoop 3... 41 3.18 Vergleich RDBMS mit Hadoop... 42 3.19 Das Apache Hadoop Ecosystem... 43 3.20 Hadoop Stärken und Schwächen... 46 4 HDFS... 47 4.1 Agenda... 48 4.2 HDFS Hadoop Distributed File System... 49 4.3 HDFS Dienste... 50 4.4 NameNode... 51 4.5 Secondary NameNode... 52 4.6 DataNode... 53 4.7 HDFS Schreiben... 54 4.8 HDFS Lesen... 56 4.9 Einige Besonderheiten vom HDFS... 58 4.10 Erasure Coding in Hadoop 3... 59 4.11 Erasure Coding - Policies... 60 4.12 Erasure Coding - Schreiben... 61 4.13 Erasure Coding - Lesen... 62 4.14 Erasure Coding - Limitierungen... 63 4.15 Arbeiten mit dem HDFS... 64 4.16 File System Shell... 65 4.17 File System Shell - Dateien kopieren... 66 Version: 1.07 Seite 3

4.18 File System Shell - Verzeichnismanagement... 67 4.19 File System Shell - Inhalt von Dateien anzeigen... 68 4.20 HDFS Kommandos... 69 4.21 Snapshots... 70 4.22 File System APIs... 71 4.23 Java API - FileSystem... 72 4.24 Java API - Daten schreiben... 73 4.25 Java API - Daten lesen... 74 4.26 Java API - Datei löschen... 75 4.27 HDFS Konfiguration... 76 4.28 core-site.xml... 77 4.29 hdfs-site.xml... 78 4.30 Trash... 79 4.31 hdfs dfsadmin... 80 5 MapReduce... 81 5.1 Word Count Hello World für Hadoop... 82 5.2 Warum sollten wir überhaupt Wörter zählen?... 83 5.3 MapReduce Überblick... 84 5.4 MapReduce... 85 5.5 MapReduce im Detail... 86 5.6 InputFormat & InputSplit... 87 5.7 InputFormat... 88 5.8 InputSplit... 89 5.9 RecordReader... 90 5.10 Mapper... 91 5.11 Partitioner... 92 5.12 Shuffle & Sort... 93 5.13 Reducer... 95 5.14 OutputFormat... 96 5.15 Combiner... 97 5.16 MapReduce im Detail... 98 6 Hive... 99 6.1 Agenda... 100 6.2 Was ist Apache Hive?... 101 6.3 Hive Architektur im Detail... 102 6.4 Hive Server Dienste... 103 6.5 Hive Clients und Interfaces... 104 6.6 HiveServer2 und Metastore Installation... 105 6.7 Hive Verteilung der Rollen... 106 6.8 Beeline Client... 107 6.9 Beeline Kommandozeilen Optionen... 108 6.10 Beeline Kommandos... 109 6.11 Beeline Hive Kommandos... 110 6.12 JDBC Interface... 111 6.13 Hive Datenbanken und Tabellen... 112 6.14 Tabellen anlegen und verwalten... 113 6.15 Location... 114 6.16 Managed Tables und External Tables... 115 6.17 Daten Laden... 116 6.18 Hive Datentypen... 117 6.19 Numerische Datentypen... 118 6.20 String Datentypen... 119 6.21 Datum / Zeit Datentypen... 120 6.22 Weitere primitive Datentypen... 121 6.23 Container Datentypen... 122 6.24 Partitionen... 123 6.25 Hive Partitionierung... 124 6.26 Statische Partitionierung... 125 Seite 4 Version: 1.07

6.27 Dynamische Partitionierung... 126 6.28 Funktionen... 127 6.29 Beispiele für Standard Hive Funktionen... 128 6.30 Weitere HiveQL Features im Überblick... 129 6.31 Weitere Hive Features im Überblick... 130 6.32 Hive Transaktionen... 131 6.33 Hive Execution Engines im Überblick... 132 7 Dateiformate für Hive und Hadoop... 133 7.1 Agenda... 134 7.2 Klassifizierung der Dateiformate... 135 7.3 Datei und Datensatz Formate in Hive... 136 7.4 Text Dateien (Delimiter Seperated Files)... 137 7.5 SequenceFile... 138 7.6 SequenceFile anlegen... 139 7.7 Avro Dateien... 140 7.8 Avro Schema... 141 7.9 Avro Datei anlegen... 142 7.10 Parquet Dateien... 143 7.11 Interne Struktur einer Parquet Datei... 144 7.12 Parquet Schema... 145 7.13 Parquet Datei anlegen... 146 7.14 ORC Dateien... 147 7.15 Interne Struktur einer ORC Datei... 148 7.16 ORC Datei anlegen... 149 7.17 Übersicht Dateiformate... 150 8 Spark... 151 8.1 Agenda... 152 8.2 Apache Spark Überblick... 153 8.3 Historie von Apache Spark... 154 8.4 Spark vs. MapReduce - Kein Entweder oder... 155 8.5 MapReduce I/O... 156 8.6 Spark I/O... 157 8.7 Spark vs. MapReduce - Zusammenfassung... 158 8.8 Apache Spark - Verteilung der Rollen... 159 8.9 Spark - Architektur... 160 8.10 Spark - Local Mode (Standalone)... 161 8.11 Spark - Client Mode (Master im Cluster)... 162 8.12 Spark - Cluster Mode... 163 8.13 Spark Modes mit YARN... 164 8.14 Spark - Interaktiv vs. Batch-Processing... 165 8.15 Ausführen von Skripten über die Spark-Shell... 166 8.16 RDD Grundlagen... 167 8.17 MaxTemperature mit Spark... 168 8.18 Erstellen von RDDs... 169 8.19 Operationen auf RDDs... 170 8.20 Anonyme Funktionen in Scala... 171 8.21 Operationen in Spark... 172 8.22 Transformations und Actions - Beispiele... 173 8.23 map() vs. flatmap()... 174 8.24 Umgang mit Ergebnissen... 175 8.25 Zwischenspeichern... 176 8.26 Zwischenspeichern... 177 8.27 Storage Level im Überblick... 178 8.28 Pair RDDs... 179 8.29 Transformations und Actions auf Pair RDDs... 180 8.30 Transformations auf Keys oder Values... 181 8.31 Beispiel: WordCount mit Spark... 182 8.32 Spark SQL... 183 Version: 1.07 Seite 5

8.33 Spark SQL Beispiel... 184 8.34 Spark Streaming... 185 9 YARN & Spark... 186 9.1 Agenda... 187 9.2 YARN - Yet Another Resource Negotiator... 188 9.3 Cluster Ressourcen... 189 9.4 YARN NodeManager Konfiguration... 190 9.5 YARN Scheduler Konfiguration... 191 9.6 YARN Web UI... 192 9.7 Spark Ressourcen... 193 9.8 Spark YARN Application Master Konfiguration... 194 9.9 Spark Executor Konfiguration... 195 9.10 Spark Driver Konfiguration... 196 9.11 Spark Deployment Konfiguration... 197 9.12 Spark on YARN - Beispiel... 198 9.13 Spark Speculation... 199 9.14 YARN Scheduler... 200 9.15 FIFO Scheduler... 201 9.16 Capacity Scheduler... 202 9.17 Fair Scheduler... 203 9.18 Fair Scheduler Konfiguration... 204 9.19 YARN Scheduler Web UI... 205 9.20 yarn Kommando... 206 10 Der Hadoop Zoo... 207 10.1 Agenda... 208 10.2 Pig... 209 10.3 Pig Verteilung der Rollen... 210 10.4 Pig Architektur Überblick... 211 10.5 Pig Latin Beispiel... 212 10.6 Pig Latin Befehle... 213 10.7 Hive vs. Pig vs. Spark SQL... 214 10.8 Sqoop... 215 10.9 Sqoop Verteilung der Rollen... 216 10.10 Sqoop 1 Architektur Überblick... 217 10.11 Sqoop Beispiele... 218 10.12 Sqoop Kommandos... 219 10.13 Sqoop Stärken und Einschränkungen... 220 10.14 ZooKeeper... 221 10.15 ZooKeeper Verteilung der Rollen... 222 10.16 ZooKeeper Architektur Überblick... 223 10.17 ZooKeeper Beispiele... 224 10.18 ZooKeeper Kommandos... 225 10.19 ZooKeeper Stärken und Einschränkungen... 226 10.20 Kafka... 227 10.21 Kafka Verteilung der Rollen... 228 10.22 Kafka Topics... 229 10.23 Partitionierung und Replikation... 230 10.24 Kafka als Datenquelle... 231 10.25 Topics verwalten... 232 10.26 Console Consumer und Producer... 233 10.27 Kafka Stärken und Einschränkungen... 234 10.28 HBase... 235 10.29 HBase Verteilung der Rollen... 236 10.30 HBase Datenmodellierung... 237 10.31 HBase Shell Beispiele... 238 10.32 HBase Stärken und Einschränkungen... 239 11 Architekturen und Anwendungsfälle... 240 Seite 6 Version: 1.07

11.1 Agenda... 241 11.2 Fraud Detection... 242 11.3 Zahlungsstrom Analyse... 243 11.4 Zahlungsstrom Analyse... 244 11.5 Analytic Workplace... 245 11.6 E-Commerce... 246 11.7 Lambda Architektur... 247 11.8 Kappa Architektur... 248 12 Cluster Planung... 249 12.1 Cluster Planung... 250 12.2 Workload... 251 12.3 Hochverfügbarkeit & Disaster Recovery - Risiken... 252 12.4 Hochverfügbarkeit & Disaster Recovery - Anforderungen... 253 12.5 Hadoop Hochverfügbarkeit... 254 12.6 Hadoop Core Hochverfügbarkeit... 255 12.7 Backup & Disaster Recovery... 256 12.8 Dienste und Abhängigkeiten... 257 12.9 Zuweisung von Rollen zu Hosts... 258 12.10 Cluster Hardware - HP ProLiant... 259 12.11 Cluster Hardware - Dell PowerEdge... 260 12.12 Cluster Hardware - Thomas Krenn... 261 12.13 Cluster Hardware - Erläuterungen... 262 12.14 Quellen... 263 13 Fazit... 264 13.1 Fazit... 265 13.2 Nächste Schritte?... 266 13.3 ORDIX News... 267 13.4 Literatur - Hadoop... 268 13.5 Literatur - Hadoop Zoo... 269 13.6 Literatur - Etc.... 270 13.7 Links... 271 Version: 1.07 Seite 7