Wprowadzenie do technologii Big Data

115
Wprowadzenie do technologii Big Data Radosław Stankiewicz

Transcript of Wprowadzenie do technologii Big Data

Page 1: Wprowadzenie do technologii Big Data

Wprowadzenie do technologii Big Data

Radosław Stankiewicz

Page 2: Wprowadzenie do technologii Big Data

HackerBD & DS FTW!Technical Lead Trainer

2

Src: computing.co.uk , https://www.flickr.com/photos/barron/15483113 , tech.co

Page 3: Wprowadzenie do technologii Big Data
Page 4: Wprowadzenie do technologii Big Data

Agenda

Wstęp -> Map Reduce -> Pig -> Hive -> HBase

4

Page 5: Wprowadzenie do technologii Big Data

Wprowadzenie

5

Page 6: Wprowadzenie do technologii Big Data

V O LUME6

Page 7: Wprowadzenie do technologii Big Data

Variety

7

A|123|10$ B|555|20$ Y|333|15$

{ 'typ'='A', 'id'=123, 'kwota'='10$'

}

Page 8: Wprowadzenie do technologii Big Data

Velocity

OLAP

Real Time

Batch

Streaming Interactive analytics

8

Page 9: Wprowadzenie do technologii Big Data

Przechowywanie danychpliki (analiza batch i interaktywna) NoSQL (random access) Indeksy

pliki płaskie, csv(rowid,col,czas)->value:Accumulo, HBaseCassandra

MongoDBSolrElastic Search

JSON

AVRO

formaty kolumnowe Bazy grafowe

9

Page 10: Wprowadzenie do technologii Big Data
Page 11: Wprowadzenie do technologii Big Data

Value

11

Page 12: Wprowadzenie do technologii Big Data

Klasyfikacja problemu• Baza danych ulic Warszawy, Dane w formacie JSON,

optymalizacja odbioru śmieci jednego z usługodawców.

• Zdarzenia z bazy transakcyjnej i kart kredytowych w celu lepszego wykrywania fraudów

• System wyszukujący dobre oferty samochodów z wielu serwisów - web crawling, parsowanie danych, analiza trendów cen samochodów

• Centralne repozytorium skanów umów, TB danych, codziennie przybywa kilkaset nowych dokumentów

12

Page 13: Wprowadzenie do technologii Big Data

13

BI/BigData/EDH

Page 14: Wprowadzenie do technologii Big Data

14

BI BD

EDH

Page 15: Wprowadzenie do technologii Big Data

Geneza

• za dużo danych

• pady serwerów

• wolne relacyjne bazy danych

15

Page 16: Wprowadzenie do technologii Big Data

16

Page 17: Wprowadzenie do technologii Big Data

17

Page 18: Wprowadzenie do technologii Big Data

18

Page 19: Wprowadzenie do technologii Big Data

Ekosystem Hadoop

19 źródło: Hortonworks

Page 20: Wprowadzenie do technologii Big Data

Wprowadzenie do MapReduce na przykładzie

platformy Hadoop

20

Page 21: Wprowadzenie do technologii Big Data

Architektura

21

Page 22: Wprowadzenie do technologii Big Data

Architektura

22 źródło: Hortonworks

Page 23: Wprowadzenie do technologii Big Data

HDFS

Inspirowany GFS(po prawej)

Główne cechy: • Fault tolerant • Commodity, low cost hardware • Batch processing • High throughput, not low latency • Write Once, Read Many

23

Page 24: Wprowadzenie do technologii Big Data

HDFS - Namenode, Datanode

24

Page 25: Wprowadzenie do technologii Big Data

HDFS - replikacja

Datanodes

Namenode

25

Page 26: Wprowadzenie do technologii Big Data

● User Commands o dfs o fsck

● Administration Commands o datanode o dfsadmin o namenode

dfs: appendToFile cat chgrp chmod chown copyFromLocal copyToLocal count cp du dus expunge get getfacl getfattr getmerge ls lsr mkdir moveFromLocal moveToLocal mv put rm rmr setfacl setfattr setrep stat tail test text touchz

hdfs dfs -put localfile1 localfile2 /user/tmp/hadoopdir hdfs dfs -getmerge /user/hadoop/output/ localfile

komendy

26

Page 27: Wprowadzenie do technologii Big Data

Uprawnienia

POSIX - Knox - Ranger

27

Page 28: Wprowadzenie do technologii Big Data

Architektura YARN

28

Page 29: Wprowadzenie do technologii Big Data

Map Reduce Framework

29

Page 30: Wprowadzenie do technologii Big Data

Map Reduce Framework

30

M

M

M

M

R

R

R

R

R

Page 31: Wprowadzenie do technologii Big Data

Mapper

#!/usr/bin/env python import sys for line in sys.stdin: words = line.strip().split() for word in words: print '%s\t%s' % (word, 1)

line = “Ala ma kota”

Ala 1 ma 1 kota 1

31

Page 32: Wprowadzenie do technologii Big Data

Reducer#!/usr/bin/env python import sys current_word = None current_count = 0 word = None for line in sys.stdin: line = line.strip() word, count = line.split('\t', 1) count = int(count) if current_word == word: current_count += count else: if current_word: print '%s,%s' % (current_word, current_count) current_count = count current_word = word if current_word == word: print '%s,%s' % (current_word, current_count)

ala 1 ala 1 bela 1 dela 1

ala,2 bela,1 dela,1

32

Page 33: Wprowadzenie do technologii Big Data

Uruchomienie streaming

cat input.txt | ./mapper.py | sort | ./reducer.py

bin/yarn jar [..]/hadoop-*streaming*.jar \ -file mapper.py -mapper ./mapper.py -file reducer.py -reducer ./reducer.py \-input /tmp/wordcount/input -output /tmp/wordcount/output

33

Page 34: Wprowadzenie do technologii Big Data

Map Reduce w Java(input) <k1, v1> -> map -> <k2, v2> -> combine -> <k2, v2> -> reduce -> <k3, v3> (output) 1) Mapper 2) Reducer 3) run public class WordCount extends Configured implements Tool { public static class TokenizerMapper{...} public static class IntSumReducer{...} public int run(...){...}

}

34

Page 35: Wprowadzenie do technologii Big Data

Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>

public static class TokenizerMapper extends Mapper<LongWritable, Text, Text, IntWritable>{ private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(LongWritable key, Text value, Context context ) throws IOException, InterruptedException { StringTokenizer itr = new StringTokenizer(value.toString()); while (itr.hasMoreTokens()) { word.set(itr.nextToken()); context.write(word, one); } } public void setup(...) {...} public void cleanup(...) {...} public void run(...) {...} }

value = “Ala ma kota”

Ala,1 ma,1 kota,1

Page 36: Wprowadzenie do technologii Big Data

Reducer<KEYIN,VALUEIN,KEYOUT,VALUEOUT>

public static class IntSumReducer extends Reducer<Text,IntWritable,Text,IntWritable> { private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable<IntWritable> values, Context context ) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } result.set(sum); context.write(key, result); } public void setup(...) {...} public void cleanup(...) {...} public void run(...) {...} }

kota,(1,1,1,1)

kota,4

Page 37: Wprowadzenie do technologii Big Data

Mainpublic int run(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "word count"); job.setJarByClass(WordCount.class); job.setMapperClass(TokenizerMapper.class); job.setCombinerClass(IntSumReducer.class); job.setReducerClass(IntSumReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); System.exit(job.waitForCompletion(true) ? 0 : 1); } public static void main(String[] args) throws Exception { int res = ToolRunner.run(new Configuration(), new WordCount(),args); System.exit(res); }

yarn jar wc.jar WordCount /tmp/wordcount/input /tmp/wordcount/output

Page 38: Wprowadzenie do technologii Big Data

Co dalej?• Map Reduce w Javie

• Testowanie MRUnit

• Joins

• Avro

• Custom Key, Value

• Złączanie wielu zadań

• Custom Input, Output

38

Page 39: Wprowadzenie do technologii Big Data

URL

http://bit.ly/1PTjH92

Page 40: Wprowadzenie do technologii Big Data

Warsztat

40

Page 41: Wprowadzenie do technologii Big Data

Warsztat

41

Page 42: Wprowadzenie do technologii Big Data

Wprowadzenie do przetwarzania danych na

przykładzie Pig

42

Page 43: Wprowadzenie do technologii Big Data

Architektura Pig

43

Page 44: Wprowadzenie do technologii Big Data

Architektura Pig

44

Page 45: Wprowadzenie do technologii Big Data

Tryb Pracy

Interaktywny lub Wsadowy

45

Page 46: Wprowadzenie do technologii Big Data

Tryb Pracy

Lokalny lub Rozproszony

46

Page 47: Wprowadzenie do technologii Big Data

Tryb Pracy

Map Reduce lub Tez

47

Page 48: Wprowadzenie do technologii Big Data

Typy danych

48

int long float double

chararray datetime boolean

bytearray biginteger bigdecimal

Page 49: Wprowadzenie do technologii Big Data

Złożone typy

49

tuple bag map

Page 50: Wprowadzenie do technologii Big Data

Podstawy Pig Latin - wielkość liter

• A = LOAD 'data' USING PigStorage() AS (f1:int, f2:int, f3:int);B = GROUP A BY f1;C = FOREACH B GENERATE COUNT ($0);DUMP C;

• Nazwy zmiennych A, B, and C (tzw. aliasy) są case sensitive.• Wielkość liter jest też istotna dla:

• nazwy pól f1, f2, i f3• nazwy zmiennych A, B, C• nazwy funkcji PigStorage, COUNT

• Z wyjątkiem: LOAD, USING, AS, GROUP, BY, FOREACH, GENERATE, oraz DUMP

50

Page 51: Wprowadzenie do technologii Big Data

assert, and, any, all, arrange, as, asc, AVG, bag, BinStorage, by, bytearray, BIGINTEGER, BIGDECIMAL, cache, CASE, cat, cd, chararray, cogroup, CONCAT, copyFromLocal, copyToLocal, COUNT, cp, cross, datetime, %declare, %default, define, dense, desc, describe, DIFF, distinct, double, du, dump, e, E, eval, exec, explain, f, F, filter, flatten, float, foreach, full, generate, group, help, if, illustrate, import, inner, input, int, into, is, join, kill, l, L, left, limit, load, long, ls, map, matches, MAX, MIN, mkdir, mv, not, null, onschema, or, order, outer, output, parallel, pig, PigDump, PigStorage, pwd, quit, register, returns, right, rm, rmf, rollup, run, sample, set, ship, SIZE, split, stderr, stdin, stdout, store, stream, SUM, TextLoader, TOKENIZE, through, tuple, union, using, void

51

Słowa kluczowe

Page 52: Wprowadzenie do technologii Big Data

Pierwsze kroki

data = LOAD 'input' AS (query:CHARARRAY);

A = LOAD 'data' USING PigStorage('\t') AS (f1:int, f2:int, f3:int);

STORE A INTO '/tmp/result' USING PigStorage(';')

52

Page 53: Wprowadzenie do technologii Big Data

Pierwsze kroki

SAMPLEDESCRIBE

DUMPEXPLAIN

ILLUSTRATE

53

Page 54: Wprowadzenie do technologii Big Data

Kolejne kroki - operacje na danych

A = LOAD 'student' USING PigStorage() AS (name:chararray, age:int, semestre:int, scholarship:float);

B = FILTER A BY age > 20;

54

Page 55: Wprowadzenie do technologii Big Data

Kolejne kroki - operacje na danych

A = LOAD 'student' USING PigStorage() AS (name:chararray, age:int, semestre:int, scholarship:float);

B = FILTER A BY age > 20; C = LIMIT B 5;

55

Page 56: Wprowadzenie do technologii Big Data

Kolejne kroki - operacje na danych

A = LOAD 'student' USING PigStorage() AS (name:chararray, age:int, semestre:int, scholarship:float);

B = FILTER A BY age > 20; C = LIMIT B 5;

D = FOREACH C GENERATE name, scholarship*semestre as funds

56

Page 57: Wprowadzenie do technologii Big Data

Kolejne kroki - operacje na danych

A = LOAD 'student' USING PigStorage() AS (name:chararray, age:int, semestre:int, scholarship:float);

E = GROUP A by age

57

Page 58: Wprowadzenie do technologii Big Data

Kolejne kroki - operacje na danych

A = LOAD 'student' USING PigStorage() AS (name:chararray, age:int, semestre:int, scholarship:float);

E = GROUP A by age F = FOREACH E GENERATE group as age, AVG(A.scholarship)

58

Page 59: Wprowadzenie do technologii Big Data

Wydajność

Tez, Projekcje, Filtrowanie, Join

59

Page 60: Wprowadzenie do technologii Big Data

Co dalej?

UDF, PigUnit, Integracje

60

Page 61: Wprowadzenie do technologii Big Data

Warsztat

61

Page 62: Wprowadzenie do technologii Big Data

Wprowadzenie do analizy danych na przykładzie

Hive

62

Page 63: Wprowadzenie do technologii Big Data

Architektura

63

Page 64: Wprowadzenie do technologii Big Data

Unikalne cechy Hive

Zapytania SQL na plikach płaskich, np. CSV

64

Page 65: Wprowadzenie do technologii Big Data

Unikalne cechy Hive

Znaczne przyspieszenie analizy - nie potrzeba pisać Map Reduce Optymalizacja, wykonywanie części operacji w pamięci zamiast MR

65

Page 66: Wprowadzenie do technologii Big Data

Unikalne cechy Hive

Nieograniczone formy integracji - MongoDB, Elastic Search, HBase

66

Page 67: Wprowadzenie do technologii Big Data

Unikalne cechy Hive

Integracja narzędzi BI oraz DWH z Hive poprzez JDBC

67

Page 68: Wprowadzenie do technologii Big Data

Hive CLITryb Interaktywny

hive Tryb Wsadowy:

hive -e ‘select foo from bar’ hive -f ‘/path/to/my/script.q’ hive -f ‘hdfs://namenode:port/path/to/my/script.q’

więcej opcji: hive --help

68

Page 69: Wprowadzenie do technologii Big Data

Typy danychINT, TINYINT, SMALLINT, BIGINTBOOLEANDECIMALFLOAT, DOUBLESTRINGBINARYTIMESTAMPARRAY, MAP, STRUCT, UNIONDATECHARVARCHAR

69

Page 70: Wprowadzenie do technologii Big Data

Składnia zapytańSELECT, INSERT, UPDATE

GROUP BY

UNION

LEFT, RIGHT, FULL INNER, FULL OUTER JOIN

OVER, RANK

(NOT) IN, HAVING

(NOT) EXISTS

70

Page 71: Wprowadzenie do technologii Big Data

Data Definition Language

• CREATE DATABASE/SCHEMA, TABLE, VIEW, FUNCTION, INDEX • DROP DATABASE/SCHEMA, TABLE, VIEW, INDEX • TRUNCATE TABLE • ALTER DATABASE/SCHEMA, TABLE, VIEW • MSCK REPAIR TABLE (or ALTER TABLE RECOVER PARTITIONS) • SHOW DATABASES/SCHEMAS, TABLES, TBLPROPERTIES, PARTITIONS, FUNCTIONS, INDEX[ES], COLUMNS, CREATE TABLE

• DESCRIBE DATABASE/SCHEMA, table_name, view_name

71

Page 72: Wprowadzenie do technologii Big Data

Tabele

CREATE TABLE page_view(viewTime INT, userid BIGINT, page_url STRING, referrer_url STRING, ip STRING COMMENT 'IP Address of the User') COMMENT 'This is the page view table' PARTITIONED BY(dt STRING, country STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' STORED AS TEXTFILE;

72

Page 73: Wprowadzenie do technologii Big Data

Pierwsze kroki w Hive

CREATE TABLE tablename1 (foo INT, bar STRING) PARTITIONED BY (ds STRING); LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename1;

INSERT INTO TABLE tablename1 PARTITION (ds='2014') select_statement1 FROM from_statement;

73

Page 74: Wprowadzenie do technologii Big Data

Pierwsze kroki w Hive

UPDATE tablename SET column = value [, column = value ...] [WHERE expression]

DELETE FROM tablename [WHERE expression]

74

Page 75: Wprowadzenie do technologii Big Data

Inne formaty plików? SerDe

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/

start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

CREATE TABLE apachelog (

host STRING, identity STRING, user STRING, time STRING, request STRING, status STRING,

size STRING, referer STRING, agent STRING)

ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'

WITH SERDEPROPERTIES (

"input.regex" = "([^]*) ([^]*) ([^]*) (-|\\[^\\]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)(?:

([^ \"]*|\".*\") ([^ \"]*|\".*\"))?"

)

STORED AS TEXTFILE;

75

Page 76: Wprowadzenie do technologii Big Data

Inne formaty plików? SerDe

CREATE TABLE table (

foo STRING, bar STRING)

STORED AS TEXTFILE; ← lub SEQUENCEFILE, ORC, AVRO lub PARQUET

76

Page 77: Wprowadzenie do technologii Big Data

Zalety, wady, porównanieHive Pig

deklaratywny proceduralny

tabele tymczasowe pipeline

polegamy na optymalizatorze bardziej ingerujemy w implementacje

UDF, Transform UDF, streaming

sterowniki sql data pipeline splits

77

Page 78: Wprowadzenie do technologii Big Data

Stinger

http://hortonworks.com/labs/stinger/78

Page 79: Wprowadzenie do technologii Big Data

Tips & Trickshive.vectorized.execution.enabled=true

ORC

hive.execution.engine=tez

John Lund Stone Getty Images79

Page 80: Wprowadzenie do technologii Big Data

Co dalej?

• Integracje z Solr, Elastic, MongoDB

• UDF

• multi table inserts

• JDBC

80

Page 81: Wprowadzenie do technologii Big Data

Warsztat

źródło:HikingArtist81

Page 82: Wprowadzenie do technologii Big Data

Wprowadzenie do NoSQL na podstawie

82

Page 83: Wprowadzenie do technologii Big Data

No SQL

• Not Only SQL

• Nierelacyjne

• Większość bez ACID

83

geekandpoke

Page 84: Wprowadzenie do technologii Big Data

Kiedy NoSQL

Skalowalność, Elastyczność

84

Page 85: Wprowadzenie do technologii Big Data

Przegląd baz nierelacyjnych

85

Page 86: Wprowadzenie do technologii Big Data

CAP theorem

86

Page 87: Wprowadzenie do technologii Big Data

Co to jest?• Key Value

• Column Family

• Wide Column

• Random access

• No SQL

• Liniowo skalowalny87

Page 88: Wprowadzenie do technologii Big Data

HBase Table (concept)adres (column family) wygląd (column

family)

rowkey miasto ulica kolor oczu

rowkey1 Warszawa Rubinowa Niebieskie

rowkey2 Kraków Poznańska

rowkey3 Pcim Brązowe

88

Page 89: Wprowadzenie do technologii Big Data

HBase Table …

rowkey

adres (column family) wygląd (column family)

miasto ulica kolor oczu

value timestamp value timestamp value timestamp

rowkey1 Warszawa 133334732

Rubinowa 133337743

Zielone 1344343424

Kasprowicza 144434453

rowkey2 Kraków 123333344 Poznańska 133333

rowkey3 Pcim 133333334 Brązowe 1343433444

89

Page 90: Wprowadzenie do technologii Big Data

HBase Table …….

90

{ rowkey1: {

adres: {

miasto:{

1333334732:Warszawa

},

ulica:{

1333337743: Kasprowicza,

1444434453: Rubinowa

}

}

}, [ other rowkeys..]

}

Page 91: Wprowadzenie do technologii Big Data

HBase Key Value

• (rowid,columnid,timestamp)->value

• (rowkey1,miasto,13334444)->Warszawa

91

Page 92: Wprowadzenie do technologii Big Data

High Level Architecture

Page 93: Wprowadzenie do technologii Big Data

Tabela

93

Page 94: Wprowadzenie do technologii Big Data

Architektura HBase

http://www.toadworld.com/platforms/nosql/w/wiki/356.hbase-storage.aspx94

Page 95: Wprowadzenie do technologii Big Data

HFile

95

Page 96: Wprowadzenie do technologii Big Data

API• shell

• thrift

• java client

• rest

• hive

• phoenix96

Page 97: Wprowadzenie do technologii Big Data

HBase Shell

hbase shell create 'testtable', {NAME=>'CF1'}, {NAME=>'CF2', VERSIONS=>2} put 'testtable', 'row1', 'CF1:col1', 'val1’ put 'testtable', 'row2', 'CF2:col7', 'val2' get 'testtable', 'row1' scan 'testtable', { STARTROW => 'row2', STOPROW => 'rowX'} scan 'testtable', {COLUMNS=>['CF1:']} scan 'testtable' , {COLUMNS=>['CF1:'], VERSIONS => 3} disable 'testtable' drop 'testtable'

97

Page 98: Wprowadzenie do technologii Big Data

Python Api na przykładzie HappyBase

1) Zainstaluj Happybase pip install happybase 2) Uruchom python 3) Dive into the code: import happybase connection = happybase.Connection('somehost', table_prefix='myproject') print connection.tables() table = connection.table('XYZ') row = table.row('row-key') print row['cf1:col1'] for key, data in table.scan(row_start='aaa', row_stop='xyz'): print key, data

table.put('row-key', {'cf:col1': 'value1', 'cf:col2': ‚value2'}) table.delete(‚row-key')

więcej: http://happybase.readthedocs.org/en/latest/index.html

98

Page 99: Wprowadzenie do technologii Big Data

Hive

CREATE [EXTERNAL] TABLE foo(rowkey STRING, a STRING, b STRING) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,f:c1,f:c2') TBLPROPERTIES ('hbase.table.name' = 'bar');

f - column family c1, c2 - kolumny

99

Page 100: Wprowadzenie do technologii Big Data

Warsztat

źródło:HikingArtist100

Page 101: Wprowadzenie do technologii Big Data

Warsztatadres (column family) wygląd (column family)

rowkey miasto kod pocztowy ulica kolor włosów kolor oczu wzrost

95060200998 Warszawa 05-077 01-949

Jaspisowa Sokratesa blond Zielone

170 180 192

86010100222 Kraków Poznańska blond rudy 190

83010233331 Pcim brąz Brązowe 195

101

Page 102: Wprowadzenie do technologii Big Data

Monitorowanie i zarządzanie klastrem na

przykładzie Ambari

102

Page 103: Wprowadzenie do technologii Big Data

CLI• Yarn Administration Commands

• resourcemanager nodemanager proxyserver rmadmin daemonlog• HDFS

• User Commands • dfs • fsck

• Administration Commands • datanode dfsadmin namenode

• HBase • start-hbase.sh, stop-hbase.sh

• HCatalog, HiveServer, • Kafka, Storm, Tez, Spark, Oozie i inne • monitoring, konfiguracja, aktualizacja

103

Page 104: Wprowadzenie do technologii Big Data

Ambari

• zarządzanie klastrem

• konsola monitoringu

• instalacja nowych węzłów

• konfiguracja

• wygaszanie serwerów

104

Page 105: Wprowadzenie do technologii Big Data

Ambari

105

Page 106: Wprowadzenie do technologii Big Data
Page 107: Wprowadzenie do technologii Big Data

Now what?107

Page 108: Wprowadzenie do technologii Big Data
Page 109: Wprowadzenie do technologii Big Data

Chcesz wiedzieć więcej?Szkolenia pozwalają na indywidualną pracę z każdym uczestnikiem

• pracujemy w grupach 4-8 osobowych

• program może być dostosowany do oczekiwań grupy

• rozwiązujemy i odpowiadamy na indywidualne pytania uczestników

• mamy dużo więcej czasu :)

Page 110: Wprowadzenie do technologii Big Data

Szkolenie dedykowane dla Ciebie

Jesteś architektem lub team leaderem?

• na przekrojowym szkoleniu 5-dniowym omawiamy i ćwiczymy cały ekosystem Hadoopa

• na szkoleniu dedykowanym dla architektów dyskutujemy o projektowaniu systemów BigData

Jesteś analitykiem?

• na dedykowanym szkoleniu przećwiczysz w szczegółach Pig i Hive i rozwiążesz przykładowe problemy analityczne

Page 111: Wprowadzenie do technologii Big Data

Szkolenie dedykowane dla Ciebie

Jesteś programistą?

• szkolenie 3-dniowe pozwala w szczegółach zapoznać się z programowaniem zaawansowanych aspektów MapReduce w Javie i programowaniem w podejściu strumieniowym

Interesuje Cię całość zagadnienia BigData?

• Przetwarzanie Big Data z użyciem Apache Spark

• Bazy danych NoSQL - Cassandra

• Bazy danych NoSQL - MongoDB

Page 112: Wprowadzenie do technologii Big Data

Szkolenia

Page 113: Wprowadzenie do technologii Big Data

źródła

• HikingArtist.com - rysunki

• hortonworks.com - architektura HDP

• apache.org - grafiki Pig, Hive, Hadoop

Page 114: Wprowadzenie do technologii Big Data

dziękujępytania?

114

Page 115: Wprowadzenie do technologii Big Data

Wprowadzenie do technologii Big DataRadosław Stankiewicz - [email protected]

www.sages.com.pl