Ôn thi BigData| Môn Lưu trữ và xử lý dữ liệu lớn| Trường Đại học Bách Khoa Hà Nội

1. How big is big data?
(Hadoop và Spark)
Big Data 5V
Velocity (speed of generating data) – Variety (types and forms of data) – Value(potential for ...) – Veracity (level of quality, accuracy and uncertainty) – Volume (vast amouns of data, how large can scale?)

1 | P a g e
Introduction to Big Data Storage & Processing
H s:
Lec1:
1. How big is big data?
(Hadoop và Spark)
Big Data 5V
Velocity (speed of generating data) Variety (types and forms of data)
Value(potential for …) Veracity (level of quality, accuracy and uncertainty)
Volume (vast amouns of data, how large can scale?)
inadequate to deal with: không đủ để đối phó
- Big data technology stack
Data => Scalable Data Storage => Data Ingestion and Processing =>
Transform question to algorithm => Asking the right question => (Management,
Seciruty, Privacy, Governmance) Value.
2 | P a g e
- Scalable data management
Scalability (kh m)
Accessibility (kh năng truy cập)
Transparency (trong sut)
Availability (sn sàng): Fault tolerance
- Scalable data ingestion and processing
Data ingestion (nhp d liu)
Data processing (xd liu)
- Scalable analytic algorithms
Challenges
Big volume
Big dimensionality
Realtime processing
Scaling-up ML algorithms
Adapting the algorithm to handle Big Data in a single machine
Scaling-up algorithms by parallelism
3 | P a g e
- Data engineers (làm vic backend nhiều hơn, infrastructure) vs. Data scientists
(làm vic nhiều hơn với khách hàng).
4 | P a g e
5 | P a g e
-
Lec2: Hadoop Ecosystem
1. BTVN (HDFS, chy Ví d v Hadoop)
Hadoop hình thành t 2008 do Yahoo phát trin
Apache Hadoop thân thiện hơn MapReduce (của Google)
MapReduce là mô thc x lý d liu mặc định trong Hadoop
- Mc tiêu chính
Lưu trữ d liu kh m (scalability), tin cy (reliability)
Powerfull data processing
(Efficient visualization)
- Thách thc: Thiết b lưu trữ tc độ chm, máy tính thiếu tin cy, lp trình song
song phân tán không d dàng.
- Hadoop ly cm hng t Bài báo Page Rank ca Google (Map Reduce).
6 | P a g e
(IMR of Amazon)
*Hadoop m rng bng k thut scale-out
- Có mt máy master (nhiu máy master ph)
- Gii quyết bài toán chu li thông qua k thut dư thừa
=> Hadoop thiết kế sao cho các li xy ra trong h thng được x lý t động,
không ảnh hưởng ti các ng dng phía trên.
2. HDFS: Hadoop Distributed File System
Các chunk là các tp tin h thng trong tp tin cc b ca máy ch datanode
3. MapReduce
7 | P a g e
Hardware failure is the norm rather than the exception.
Detection of faults and quick, automatic recovery from them is a core
architectural goal of HDFS.
The emphasis is on high throughput of data access rather than low latency of
data access
It should provide high aggregate data bandwidth and scale to hundreds of
nodes in a single cluster
This assumption simplifies data coherency issues and enables high throughput
data access.
Moving Computation is cheaper than moving data
HDFS has a master/slave architecture. An HDFS cluster consists of a single
NameNode, a master server
The architecture does not preclude running multiple DataNodes on the same
machine but in a real deployment that is rarely the case.
8 | P a g e
- MapReduce:
Simplicity Flexbiltity Scalability
A MapReduce job = {Isolated Tasks} n
9 | P a g e
10 | P a g e
*) Nm trong h sinh thái Hadoop nhưng không phi “core Hadoop
Apache Pig (giao din x lý mc cao)
Apache Hive (Lp tru tượng mc cao cu MapReduce)
Apache Hbase (CSDL ct m rng phân tán)
Apache Sqoop (công c chuyn khi d liu t ApacheHadoop sang CSDL quan h)
Apache Kafka (phân tách mch lc các thành phn tham gia vào lung d liu)
Apache Oozie (h thng lp lch lung công vic) (work-flow)
Apache Zookeeper (dch v cung cp các chc năng phối hp phân tán độ tin cy
cao) service lõi, ti quan trng tng các h thng phân tán
Thut toán PAXOS: thut toán đồng thun để xác định failure
- Proposer (leader) đề xut, các acceptors chp nhn, nếu đa số chn chp nhn đề
xut này thì leader thông báo giá trì đề xut cho các learners.
YARN Yet Another Resorce Negotiator
11 | P a g e
- Cp phát trên Yarn
- H sinh thái Hadoop
12 | P a g e
Lec3: HDFS (Hadoop Distributed File System)
1. Overview
2. Kiến trúc HDFS
- Metadata in memory: gm các list, thuộc tính cơ bản như thi gian khi to
- Transaction Log
Rack gm nhiu Node, Node cha nhiu Board (Block), đơn vị nh nht là
chunk
Không nên đ 2 Board cùng 1 Rack
13 | P a g e
*) HDFS data format
1. Text (CSV, TSV, Json)
2. Sequence file (Binary Key-value)
3. Avro (row based) (Flexible data scheme JSON)
4. Parquet (column-oriented binary file format)
14 | P a g e
Lec4: (MapReduce - Parallel Programming with Hadoop)
15 | P a g e
16 | P a g e
1. S Mapper bng s chunk đầu vào
Không cấu hình được s Mapper (do ng d liệu đầu vào)
Cho nhng Mapper chạy trên đúng nốt cha d liu (Locality)
17 | P a g e
2. S ng Reducer bng s ng máy
2. Map Input: (StudentName, ClassID)
Map Output: ((ClassA, 1),(ClassA, 1),..(ClassF, 1),(ClassF, 1),..)
Reduce input: ((ClassA,[1, 1,..]], ... (ClassF,[1, 1,..]),..)
Reduce output: ((ClassA, num_stu_A),..(ClassF, num_stu_F),..)
2. Map Input: (StudentName, classID)
Map output: (class_code, 1)
Reduce input: (class_code, [1,1,...])
Reduce output: (classID, numberOfStudent)
3. Master Server chia M nhim v map cho các máy và giám sát các tiến trình.
Nhim v map đc d liu cc bộ, lưu trữ kết qu map lưu trên cc b
(không lưu vào HDFS để ko nhân bn nên, s dng s b đi).
Pha Shuffle giao cho Reducers nhng buffers, những cái đọc x t xa
bi Reducers.
Reducers cho ra kết qu trên b lưu trữ n định (HDFS).
18 | P a g e
3. Map Input: (LastName, departmentID), (departmentID, departmentName);
Map output: (departmentID, Lastname), (departmentID, departmentName);
Reduce Input: (departmentID, [Lastname, departmentName]);
19 | P a g e
Reduce Output: (Lastname, departmentName)
4. Fault Tolerance
4. Map Input: (node, [adjacents])
Map Output: (adjacent, node)
Reduce input: (adjacent, [nodes])
Reduce output: (adjacent, [nodes])
Map Input: (3, [1, 2]), (1, [2, 3]).
Map Output: (1, [3]), (2, [3]), (2, [1]), (3, [1])
Reduce Input: (1, [3]), (2, [1]), (2, [3]), (3, [1])
Reduce Output: (1,[3]) (2, [1, 3]) (3, [[1])
5. Inverted Indexing Preliminaries
6. Page Rank
5. Map Input: (S1, [S2,S3]), (S2, [S1]), (S3, [S1,S2])
(S1, W1), (S2, W2), (S3, W3)
(S1, n1), (S2, n2), (S3, n3)
20 | P a g e
Map output: (S2, W1/n1), (S3, W1/n1), (S1, W2/n2), (S1, W3/n3), (S2,
W3/n3)
Reduce input: (S1, [W2/n2, W3/n3]), (S2, [W1/n1, W3/n3]), (S3, [W1/n1])
Reduce output: (S1, W11=W2/n2+W3/n3), (S2, W22=W1/n1+W3/n3), (S3,
W33=W1/n1)
Lec4: No SQL (Mongose DB)
1. Key-Value
| 1/40

Preview text:

Introduction to Big Data Storage & Processing Hệ số: Lec1: 1. How big is big data? (Hadoop và Spark) Big Data 5V
Velocity (speed of generating data) – Variety (types and forms of data) –
Value(potential for …) – Veracity (level of quality, accuracy and uncertainty) –
Volume (vast amouns of data, how large can scale?)
inadequate to deal with: không đủ để đối phó - Big data technology stack
Data => Scalable Data Storage => Data Ingestion and Processing =>
Transform question to algorithm => Asking the right question => (Management,
Seciruty, Privacy, Governmance) Value. 1 | P a g e - Scalable data management Scalability (khả mở)
Accessibility (khả năng truy cập) Transparency (trong suốt)
Availability (sẵn sàng): Fault tolerance
- Scalable data ingestion and processing
Data ingestion (nhập dữ liệu)
Data processing (xử lý dữ liệu)
- Scalable analytic algorithms Challenges Big volume Big dimensionality Realtime processing Scaling-up ML algorithms
Adapting the algorithm to handle Big Data in a single machine
Scaling-up algorithms by parallelism 2 | P a g e
- Data engineers (làm việc backend nhiều hơn, infrastructure) vs. Data scientists
(làm việc nhiều hơn với khách hàng). 3 | P a g e 4 | P a g e - Lec2: Hadoop Ecosystem
1. BTVN (HDFS, chạy Ví dụ về Hadoop)
Hadoop hình thành từ 2008 do Yahoo phát triển
Apache Hadoop thân thiện hơn MapReduce (của Google)
MapReduce là mô thức xử lý dữ liệu mặc định trong Hadoop - Mục tiêu chính
Lưu trữ dự liệu khả mở (scalability), tin cậy (reliability) Powerfull data processing (Efficient visualization)
- Thách thức: Thiết bị lưu trữ tốc độ chậm, máy tính thiếu tin cậy, lập trình song
song phân tán không dễ dàng.
- Hadoop lấy cảm hứng từ Bài báo Page Rank của Google (Map Reduce). 5 | P a g e (IMR of Amazon)
*Hadoop mở rộng bằng kỹ thuật scale-out
- Có một máy master (nhiều máy master phụ)
- Giải quyết bài toán chịu lỗi thông qua kỹ thuật “dư thừa”
=> Hadoop thiết kế sao cho các lỗi xảy ra trong hệ thống được xử lý tự động,
không ảnh hưởng tới các ứng dụng phía trên.
2. HDFS: Hadoop Distributed File System
Các chunk là các tập tin hệ thống trong tập tin cục bộ của máy chủ datanode 3. MapReduce 6 | P a g e
Hardware failure is the norm rather than the exception.
Detection of faults and quick, automatic recovery from them is a core architectural goal of HDFS.
The emphasis is on high throughput of data access rather than low latency of data access
It should provide high aggregate data bandwidth and scale to hundreds of nodes in a single cluster
This assumption simplifies data coherency issues and enables high throughput data access.
Moving Computation is cheaper than moving data
HDFS has a master/slave architecture. An HDFS cluster consists of a single NameNode, a master server
The architecture does not preclude running multiple DataNodes on the same
machine but in a real deployment that is rarely the case. 7 | P a g e - MapReduce:
Simplicity – Flexbiltity – Scalability
A MapReduce job = {Isolated Tasks} n 8 | P a g e 9 | P a g e
*) Nằm trong hệ sinh thái Hadoop nhưng không phải “core Hadoop”
Apache Pig (giao diện xử lý mức cao)
Apache Hive (Lớp trừu tượng mức cao cảu MapReduce)
Apache Hbase (CSDL cột mở rộng phân tán)
Apache Sqoop (công cụ chuyển khối dữ liệu từ ApacheHadoop sang CSDL quan hệ)
Apache Kafka (phân tách mạch lạc các thành phần tham gia vào luồng dữ liệu)
Apache Oozie (hệ thống lập lịch luồng công việc) (work-flow)
Apache Zookeeper (dịch vụ cung cấp các chức năng phối hợp phân tán độ tin cậy
cao) – service lõi, tối quan trọng tỏng các hệ thống phân tán
Thuật toán PAXOS: thuật toán đồng thuận để xác định failure
- Proposer (leader) đề xuất, các acceptors chấp nhận, nếu đa số chọn chấp nhận đề
xuất này thì leader thông báo giá trì đề xuất cho các learners.
YARN – Yet Another Resorce Negotiator 10 | P a g e - Cấp phát trên Yarn - Hệ sinh thái Hadoop 11 | P a g e
Lec3: HDFS (Hadoop Distributed File System) 1. Overview 2. Kiến trúc HDFS
- Metadata in memory: gồm các list, thuộc tính cơ bản như thời gian khởi tạo - Transaction Log
Rack gồm nhiều Node, Node chứa nhiều Board (Block), đơn vị nhỏ nhất là chunk
Không nên để 2 Board cùng 1 Rack 12 | P a g e *) HDFS data format 1. Text (CSV, TSV, Json)
2. Sequence file (Binary Key-value)
3. Avro (row based) (Flexible data scheme – JSON)
4. Parquet (column-oriented binary file format) 13 | P a g e
Lec4: (MapReduce - Parallel Programming with Hadoop) 14 | P a g e 15 | P a g e
1. Số Mapper bằng số chunk đầu vào
Không cấu hình được số Mapper (do lượng dữ liệu đầu vào)
Cho những Mapper chạy trên đúng nốt chứa dữ liệu (Locality) 16 | P a g e
2. Số lượng Reducer bằng số lượng máy 2.
Map Input: (StudentName, ClassID)
Map Output: ((ClassA, 1),(ClassA, 1),..(ClassF, 1),(ClassF, 1),..)
Reduce input: ((ClassA,[1, 1,..]], ... (ClassF,[1, 1,..]),..)
Reduce output: ((ClassA, num_stu_A),..(ClassF, num_stu_F),..) 2.
Map Input: (StudentName, classID) Map output: (class_code, 1)
Reduce input: (class_code, [1,1,...])
Reduce output: (classID, numberOfStudent) 3.
Master Server chia M nhiệm vụ map cho các máy và giám sát các tiến trình.
Nhiệm vụ map đọc dữ liệu cục bộ, lưu trữ kết quả map lưu trên cục bộ
(không lưu vào HDFS để ko nhân bản nên, sử dụng sẽ bỏ đi).
Pha Shuffle giao cho Reducers những buffers, những cái đọc và xử lý từ xa bởi Reducers.
Reducers cho ra kết quả trên bộ lưu trữ ổn định (HDFS). 17 | P a g e 3.
Map Input: (LastName, departmentID), (departmentID, departmentName);
Map output: (departmentID, Lastname), (departmentID, departmentName);
Reduce Input: (departmentID, [Lastname, departmentName]); 18 | P a g e
Reduce Output: (Lastname, departmentName) 4. Fault Tolerance 4.
Map Input: (node, [adjacents]) Map Output: (adjacent, node)
Reduce input: (adjacent, [nodes])
Reduce output: (adjacent, [nodes])
Map Input: (3, [1, 2]), (1, [2, 3]).
Map Output: (1, [3]), (2, [3]), (2, [1]), (3, [1])
Reduce Input: (1, [3]), (2, [1]), (2, [3]), (3, [1])
Reduce Output: (1,[3]) (2, [1, 3]) (3, [[1])
5. Inverted Indexing Preliminaries 6. Page Rank 5.
Map Input: (S1, [S2,S3]), (S2, [S1]), (S3, [S1,S2]) (S1, W1), (S2, W2), (S3, W3) (S1, n1), (S2, n2), (S3, n3) 19 | P a g e
Map output: (S2, W1/n1), (S3, W1/n1), (S1, W2/n2), (S1, W3/n3), (S2, W3/n3)
Reduce input: (S1, [W2/n2, W3/n3]), (S2, [W1/n1, W3/n3]), (S3, [W1/n1])
Reduce output: (S1, W11=W2/n2+W3/n3), (S2, W22=W1/n1+W3/n3), (S3, W33=W1/n1)
Lec4: No SQL (Mongose DB) 1. Key-Value 20 | P a g e