big data - a developer_s perspective

22
BIG DATA A Developer’s Perspective

Upload: gabriel-horatiu-petchesi

Post on 14-Apr-2017

64 views

Category:

Documents


1 download

TRANSCRIPT

BIG DATAA Developer’s Perspective

Cuprins

Introducere generala

- Prezentare Big Data- Hadoop

Studiu de caz

- Arhitectura- Procesare date

Despre

Apetit tot mai mare pentru stocare si prelucrare de date

● Facebook - 7 PB/luna in crestere● NYSE - 5 TB/zi● LHC - 40 TB/sec -> 300 MB/sec, 30 PB/an

Scalare

Verticala

- Adaugarea de CPU, Memorie, alte resurse unui singur sistem

- Folosit in virtualizare - eficientizare in utilizarea resurselor

- Supercalculatoare- Nu ofera redundanta

Orizontala

- Distribuirea procesarii pe masini diferite

- Introduce complexitate prin mecanisme aditionale de management al unui cluster

- Asigura redundanta

Hadoop

Istoric

2006 - prima versiune lansata

2011 - versiunea 1.0.0 lansat ca proiect Apache

2016 - versiunea 2.2.8

Ecosistem

● Common, Yarn, HDFS● Pig, Hive, Spark - procesare de

date● Hbase, Cassandra, Solr - NoSql ● Flume, Kafka (queue)● Zookeeper - coordonare sarcini

distribuite

Solutii Hadoop

Hosted:

● Cloudera CDH● Hortonworks● MapR

Cloud:

● Amazon EMR● Google Data Proc● Microsoft Azure● IBM, ...

Hbase - nosql

PROS

- Inspirat din Google/Bigtable- Schema flexibila- Versionare pentru coloane- Scalabilitate liniara- Acces rapid la elemente - PK- Suport pentru operatii atomice

(row)- Util pentru algoritmi map-reduce

CONS

- Fara Tranzactii - Rapoarte, agregari de date in

timp real

Procesarea datelor

Batch:

● MapReduce● Apache Tez

Streaming:

● Apache Spark● Apache Storm● Samza

Algoritmul MapReduce

Fisier Fiecare linie este trimisa la un singur mapper

Map Shuffle Reduce

Configurare Cluster

Hadoop

● Namenode (1)● Datanode

Yarn

● Resource Manager● Node Manager

Proiect

Business workflow

Agentie Turism

Booking System (GDS)

Hotel

Client

Procesator Plati

Analiza Bookings & Payments

Dunning (FAX)

Recuperare comisioane

Arhitectura

Load Balancer

Web 1 Web 2

Data Node * HBase * Solr

Data Node * HBase * Solr

Data Node * HBase * Solr

NameNode

MySQL

CLOUDERA MANAGER

Batch Processing ● Incarcare unui Batch (Payment, Booking)

● Procesare, Curatare, Standardizare

● Indexare

● Deduplicare

● Realizare de grupare, totaluri, matching

Importul Datelor

HDFS

HBase SCRIPT

Sharefile

SFTP

Other Locations

MapReduce

0

100

101

200

Copy to HDFS

MapReduce

Standardizarea datelor

CLIENT

Reprezentarea datelor in HBase:

ECS META

MapReduce Standardization JOB

● Datele originale din document sunt pastrate in familia CLIENT● Datele sunt corectate si standardizate in familia ECS● Alte procese folosesc doar datele din ECS

Other Jobs

De-duplicarea si gruparea datelor

● Booking-urile provin de la cateva sisteme:

○ BCK○ GDS○ DTR

● Se realizeaza o grupare in functie de datele de inceput/final

● Se alege un record care va fi considerat primary

● Payment-urile sunt atribuite unui booking primary

● Se realizeaza totaluri

● Se creeaza dunning-uri

PIG

Data Processing made easy

● Limbaj High Level

● Usor de paralelizat

joined = JOIN filtered_b1 BY (cid, record_locator), filtered_b2 BY (cid, record_locator),USING 'skewed' PARALLEL 36;

matched = GROUP matched_only BY b1_rowkey PARALLEL 50;

Rapoarte ● Solr - cautare

● MySQL ○ Agregare date○ Small Data - user info, forms

Big Data“Torture the data and it will

confess anything”

Ronald Coase - Economist

Q & A