Tải bản đầy đủ (.doc) (27 trang)

Tìm hiểu về Big data

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.92 MB, 27 trang )

BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI

ĐỀ TÀI

TÌM HIỂU VỀ BIG DATA

Giáo viên hướng dẫn: Nguyễn Đình Nga
Sinh viên thực hiện: nhóm 1( Vũ Thành Quyền, Lê Văn An, Nguyễn Quang Sáng,
Nguyễn Thành Công, Tô Văn Cường, Tạ Đức Chung)

Hà Nội, ngày 30 tháng 3 năm 2020


Lời mở đầu
Trước đây, chúng ta mới chỉ biết đến dữ liệu có cấu trúc (structure data), ngày
nay, với sự kết hợp của dữ liệu và internet, đã xuất hiện một dạng khác của dữ
liệu - Big data (dịch là “dữ liệu lớn”). Dữ liệu này có thể từ các nguồn như: hồ
sơ hành chính,giao dịch điện tử, dòng trạng thái (status), chia sẻ hình ảnh, bình
luận, nhắn tin...của chính chúng ta, nói cách khác chúng là dữ liệu được sản
sinh qua quá trình chia sẻ thông tin trực tuyến liên tục của người sử dụng. Để
cung cấp cái nhìn tổng quan, chúng tôi xin giới thiệu tóm tắt những nét chính
về dữ liệu lớn cũng như những cơ hội và thách thức mà dữ liệu lớn mang lại.


Mục lục
Lời mở đầu....................................................................................................................................2
Mục lục...........................................................................................................................................3
Chương I: Giới Thiệu về Big Data.............................................................................................4
1.1. Khái niệm về dữ liệu lớn.................................................................................................4
1.2. Nguồn hình thành dữ liệu và phương pháp khai thác và quản lý dữ liệu lớn.................4


1.4. Sự khác biệt giữa dữ liệu lớn với dữ liệu truyền thống...................................................7
Chương II: Các Thành Phần Của Big Data.............................................................................9
2.1 Quản lí dữ liệu..................................................................................................................9
2.2 Phân tích dữ liệu.............................................................................................................10
2.3 sử dụng dữ liệu...............................................................................................................10
Chương III: Tổ chức dữ liệu BigData.....................................................................................11
3.1 Hadoop...........................................................................................................................11
3.2 Các Thành Phần của Hadoop.........................................................................................12
3.3 Hadoop hoạt động như thế nào ?....................................................................................12
3.4 Hadoop Distributed File System (HDFS)......................................................................14
3.4.1 HDFS là gì ?................................................................................14
3.4.2 Kiến trúc của HDFS :..................................................................14
4.3.3 Cơ chế Hoạt Động của HDFS......................................................15
Chương IV: Các lĩnh vực đang ứng dụng Big Data ở Việt Nam.........................................18
4.1 Phân tích mục tiêu của khách hàng................................................................................18
4.2 Hiểu và tối ưu hóa sản phẩm, quy trình kinh doanh......................................................18
4.3 Chăm sóc sức khỏe cộng đồng.......................................................................................19
4.4 Nâng cao hiệu suất thể thao...........................................................................................20
4.5 Cải thiện an ninh và thực thi pháp luật...........................................................................20
4.6 Xây dựng thành phố thông minh....................................................................................21
4.7 Hoạt động tài chính - ngân hàng....................................................................................21
Chương V: Kiến thức nền tảng cho các bạn sinh viên..........................................................22
5.1 Tại sao nên theo học ngành Big Data ?.........................................................................22
5.2 Những kỹ năng bắt buộc nào cần có đối với một người mới đi làm trong ngành Big
Data ?...................................................................................................................................23
Lời cảm ơn...................................................................................................................................26


Chương I: Giới Thiệu về Big Data
1.1. Khái niệm về dữ liệu lớn


- Theo wikipedia: Big data là một thuật ngữ chỉ bộ dữ liệu lớn hoặc phức tạp
mà các phương pháp truyền thống không đủ các ứng dụng để xử lý dữ liệu này.
- Theo Gartner: Dữ liệu lớn là những nguồn thông tin có đặc điểm chung khối
lượng lớn, tốc độ nhanh và dữ liệu định dạng dưới nhiều hình thức khác nhau,
do đó muốn khai thác được đòi hỏi phải có hình thức xử lý mới để đưa ra quyết
định, khám phá và tối ưu hóa quy trình
1.2. Nguồn hình thành dữ liệu và phương pháp khai thác và quản lý dữ liệu
lớn.
Qua thống kê và tổng hợp, nguồn dữ liệu lớn được hình thành chủ yếu từ 6
nguồn: (1) Dữ liệu hành chính (phát sinh từ chương trình của một tổ chức, có
thể là chính phủ hay phi chính phủ). Ví dụ, hồ sơ y tế điện tử ở bệnh viện, hồ sơ
bảo hiểm, hồ sơ ngân hàng...; (2) Dữ liệu từ hoạt động thương mại (phát sinh từ
các giao dịch giữa hai thực thể). Ví dụ, các giao dịch thẻ tín dụng, giao dịch trên
mạng, bao gồm cả từ các thiết bị di động; (3) Dữ liệu từ các thiết bị cảm biến
như thiết bị chụp hình ảnh vệ tinh, cảm biến đường, cảm biến khí hậu; (4) Dữ
liệu từ các thiết bị theo dõi, ví dụ theo dõi dữ liệu từ điện thoại di động, GPS;
(5) Dữ liệu từ các hành vi, ví dụ như tìm kiếm trực tuyến về (một sản phẩm, một


dịch vụ hay thông tin khác), đọc các trang mạng trực tuyến...; (6) Dữ liệu từ các
thông tin về ý kiến, quan điểm của các cá nhân, tổ chức, trên các phương tiện
thông tin xã hội. Phương pháp khai thác và quản lý dữ liệu lớn hiện nay được
thiết kế phù hợp dựa theo các nguồn hình thành dữ liệu lớn. Mỗi nguồn dữ liệu
lớn khác nhau sẽ có phương pháp khai thác và quản lý dữ liệu lớn khác nhau.
Tuy nhiên, hiện nay phần lớn các tổ chức trên thế giới đều dùng Hadoop
ecosystem là giải pháp tối ưu để khai thác và quản lý dữ liệu lớn.
1.3. Đặc trưng 5V của dữ liệu lớn
Dữ liệu lớn có 5 đặc trưng cơ bản như sau (mô hình 5V):


(1) Khối lượng dữ liệu (Volume)
Đây là đặc điểm tiêu biểu nhất của dữ liệu lớn, khối lượng dữ liệu rất lớn. Kích
cỡ
của Big Data đang từng ngày tăng lên, và tính đến năm 2012 thì nó có thể nằm
trong
khoảng vài chục terabyte cho đến nhiều petabyte (1 petabyte = 1024 terabyte)
chỉ cho
một tập hợp dữ liệu. Dữ liệu truyền thống có thể lưu trữ trên các thiết bị đĩa
mềm, đĩa
cứng. Nhưng với dữ liệu lớn chúng ta sẽ sử dụng công nghệ “đám mây” mới
đáp ứng khả
năng lưu trữ được dữ liệu lớn.
(2) Tốc độ (Velocity)


Tốc độ có thể hiểu theo 2 khía cạnh: (a) Khối lượng dữ liệu gia tăng rất nhanh
(mỗi
giây có tới 72.9 triệu các yêu cầu truy cập tìm kiếm trên web bán hàng của
Amazon); (b)
Xử lý dữ liệu nhanh ở mức thời gian thực (real-time), có nghĩa dữ liệu được xử
lý ngay
tức thời ngay sau khi chúng phát sinh (tính đến bằng mili giây). Các ứng dụng
phổ biến
trên lĩnh vực Internet, Tài chính, Ngân hàng, Hàng không, Quân sự, Y tế – Sức
khỏe như
hiện nay phần lớn dữ liệu lớn được xử lý real-time. Công nghệ xử lý dữ liệu lớn
ngày nay
đã cho phép chúng ta xử lý tức thì trước khi chúng được lưu trữ vào cơ sở dữ
liệu.
(3) Đa dạng (Variety)

Đối với dữ liệu truyền thống chúng ta hay nói đến dữ liệu có cấu trúc, thì ngày
nay
hơn 80% dữ liệu được sinh ra là phi cấu trúc (tài liệu, blog, hình ảnh, vi deo, bài
hát, dữ
liệu từ thiết bị cảm biến vật lý, thiết bị chăm sóc sức khỏe…). Big Data cho
phép liên kết
và phân tích nhiều dạng dữ liệu khác nhau. Ví dụ, với các bình luận của một
nhóm người
dùng nào đó trên Facebook với thông tin video được chia sẻ từ Youtube và
Twitter.
(4) Độ tin cậy/chính xác (Veracity)
Một trong những tính chất phức tạp nhất của Dữ liệu lớn là độ tin cậy/chính xác
của
dữ liệu. Với xu hướng phương tiện truyền thông xã hội (Social Media) và mạng
xã hội


(Social Network) ngày nay và sự gia tăng mạnh mẽ tính tương tác và chia sẻ của
người
dùng Mobile làm cho bức tranh xác định về độ tin cậy & chính xác của dữ liệu
ngày một
khó khăn hơn. Bài toán phân tích và loại bỏ dữ liệu thiếu chính xác và nhiễu
đang là tính
chất quan trọng của BigData.
(5) Giá trị (Value)
Giá trị là đặc điểm quan trọng nhất của dữ liệu lớn, vì khi bắt đầu triển khai xây
dựng dữ liệu lớn thì việc đầu tiên chúng ta cần phải làm đó là xác định được giá
trị của
thông tin mang lại như thế nào, khi đó chúng ta mới có quyết định có nên triển
khai dữ

liệu lớn hay không. Nếu chúng ta có dữ liệu lớn mà chỉ nhận được 1% lợi ích từ
nó, thì
không nên đầu tư phát triển dữ liệu lớn. Kết quả dự báo chính xác thể hiện rõ
nét nhất về
giá trị của dữ liệu lớn mang lại. Ví dụ, từ khối dữ liệu phát sinh trong quá trình
khám,
chữa bệnh sẽ giúp dự báo về sức khỏe được chính xác hơn, sẽ giảm được chi phí
điều trị
và các chi phí liên quan đến y tế.
1.4. Sự khác biệt giữa dữ liệu lớn với dữ liệu truyền thống
Dữ liệu lớn khác với dữ liệu truyền thống (ví dụ, kho dữ liệu - Data Warehouse)
ở 4điểm cơ bản: Dữ liệu đa dạng hơn; lưu trữ dữ liệu lớn hơn; truy vấn nhanh
hơn; độ chính
xác cao hơn.
(1) Dữ liệu đa dạng hơn: Khi khai thác dữ liệu truyền thống (Dữ liệu có cấu
trúc),


chúng ta thường phải trả lời các câu hỏi: Dữ liệu lấy ra kiểu gì? định dạng dữ
liệu như thế
nào? Đối với dữ liệu lớn, không phải trả lời các câu hỏi trên. Hay nói khác, khi
khai thác,
phân tích dữ liệu lớn chúng ta không cần quan tâm đến kiểu dữ liệu và định
dạng của
chúng; điều quan tâm là giá trị mà dữ liệu mang lại có đáp ứng được cho công
việc hiện
tại và tương lai hay không.
(2) Lưu trữ dữ liệu lớn hơn: Lưu trữ dữ liệu truyền thống vô cùng phức tạp và
luôn
đặt ra câu hỏi lưu như thế nào? dung lượng kho lưu trữ bao nhiêu là đủ? gắn

kèm với câu
hỏi đó là chi phí đầu tư tương ứng. Công nghệ lưu trữ dữ liệu lớn hiện nay đã
phần nào
có thể giải quyết được vấn đề trên nhờ những công nghệ lưu trữ đám mây, phân
phối lưu
trữ dữ liệu phân tán và có thể kết hợp các dữ liệu phân tán lại với nhau một cách
chính
xác và xử lý nhanh trong thời gian thực.
(3) Truy vấn dữ liệu nhanh hơn: Dữ liệu lớn được cập nhật liên tục, trong khi đó
kho dữ liệu truyền thống thì lâu lâu mới được cập nhật và trong tình trạng
không theo dõi
thường xuyên gây ra tình trạng lỗi cấu trúc truy vấn dẫn đến không tìm kiếm
được thông
tin đáp ứng theo yêu cầu.
(4) Độ chính xác cao hơn: Dữ liệu lớn khi đưa vào sử dụng thường được kiểm
định
lại dữ liệu với những điều kiện chặt chẽ, số lượng thông tin được kiểm tra thông
thường


rất lớn, và đảm bảo về nguồn lấy dữ liệu không có sự tác động của con người
vào thay
đổi số liệu thu thập

Chương II: Các Thành Phần Của Big Data

Thành phần của của Bigdata gồm 3 thành phần:
Quản lí dữ liệu: cơ sở hạ tầng lưu trữ dữ liệu, và nguồn để thao tác nó
Phân tích dữ liệu: công nghệ và các công cụ để phân tích các dữ liệu thu thập
hiểu biết sâu sắc từ nó

Sử dụng dữ liệu: đưa ra dữ kiện lớn đã phân tích để phục vụ trong doanh thông
minh và các ứng dụng của con người
2.1 Quản lí dữ liệu
A. Hệ dữ liệu có cấu trúc


Hệ thống quản lý cơ sở dữ liệu quan hệ(RDBMS): để lưu trữ và thao tác dữ liệu
có cấu trúc.
Hệ thống MPP: tập hợp dữ liệu đồ sộ ngày càng lớn thêm và tăng cường dữ liệu
tăng trưởng.
Kho dữ liệu: tập hợp và lưu trữ dữ liệu cho các báo cáo sau này.

Hạn chế
- Khó mở rộng, hiệu suất chậm lại.
- Biểu diễn dữ liệu
B. Hệ dữ liệu không có cấu trúc: phù hợp cho việc lưu trữ dữ liệu có cấu trúc
phức tạp và dễ dàng mở rộng
C. Dữ liệu
Dữ liệu có cấu trúc và không có cấu trúc
◦ Lấy từ nhiều nguồn với kích cỡ khác nhau
◦ Dữ liệu thường rất lớn, yêu cầu tốc độ xử lý cao
=> Yêu cầu tổ chức dữ liệu để đáp ứng: Apache Hadoop
2.2 Phân tích dữ liệu
Là nơi mà các công ty bắt đầu trích xuất giá trị dữ liệu lớn.
Liên quan tới việc phát triển các ứng dụng và sử dụng các ứng dụng để đạt được
cái nhìn sâu sắc vào dữ liệu lớn.
Xây dựng các tool phân tích dữ liệu.
2.3 sử dụng dữ liệu
Là các hoạt đông trên dữ liệu được phân tích



Chương III: Tổ chức dữ liệu BigData

3.1 Hadoop
Hadoop là gì ?
Hadoop là một framwork giúp lưu trữ và xử lý Big Data áp dụng MapReduce.
Nói đơn giản cách khác nó sẽ giúp sắp xếp dữ liệu sao cho user có thể dễ dàng
sử dụng nhất.

MapReduce được Google tạo ra ban đầu để xử lý đống dữ liệu lớn của công ty
họ. Ta còn có thể gọi phương pháp này là Phân tán dữ liệu vì nó tách hết tập
hợp các dữ liệu ban đầu thành các dữ liệu nhỏ và sắp xếp lại chúng để dễ dàng
tìm kiếm và truy xuất hơn, đặc biệt là việc truy xuất các dữ liệu tương đồng. Ví
dụ thường thấy nhất là các đề xuất mà ta hay thấy ở Google tìm kiếm

Như vậy mô hình lập trình Map Reduce là nền tảng ý tưởng của Hadoop. Bản
thân Hadoop là một framework cho phép phát triển các ứng dụng phân tán phần
cứng thông thường . Các phần cứng này thường có khả năng hỏng hóc cao.


Khác với loại phần cứng chuyên dụng đắt tiền, khả năng xảy ra lỗi thấp như các
supermicrocomputer chẳng hạn.

Hadoop viết bằng Java. Tuy nhiên, nhờ cơ chế streaming, Hadoop cho phép
phát triển các ứng dụng phân tán bằng cả java lẫn một số ngôn ngữ lập trình
khác như C++, Python, Pearl.
3.2 Các Thành Phần của Hadoop
Hadoop gồm 4 module:
Hadoop Common: Đây là các thư viện và tiện ích cần thiết của Java để các
module khác sử dụng. Những thư viện này cung cấp hệ thống file và lớp OS

trừu tượng, đồng thời chứa các mã lệnh Java để khởi động Hadoop.
Hadoop YARN: Đây là framework để quản lý tiến trình và tài nguyên của các
cluster.
Hadoop Distributed File System (HDFS): Đây là hệ thống file phân tán cung
cấp truy cập thông lượng cao cho ứng dụng khai thác dữ liệu.
Hadoop MapReduce: Đây là hệ thống dựa trên YARN dùng để xử lý song song
các tập dữ liệu lớn.

3.3 Hadoop hoạt động như thế nào ?


Giai đoạn 1:
Một user hay một ứng dụng có thể submit một job lên Hadoop (hadoop job
client) với yêu cầu xử lý cùng các thông tin cơ bản:
Truyền dữ liệu lên server(input) để bắt đầu phân tán dữ liệu và đưa ra kết quả
(output).
Các dữ liệu được chạy thông qua 2 hàm chính là map và reduce.
Map: sẽ quét qua toàn bộ dữ liệu và phân tán chúng ra thành các dữ liệu con.
Reduce: sẽ thu thập các dữ liệu con lại và sắp xếp lại chúng.
Các thiết lập cụ thể liên quan đến job thông qua các thông số truyền vào.
Giai đoạn 2:
Hadoop job client submit job (file jar, file thực thi) và bắt đầu lập lịch làm
việc(JobTracker) đưa job vào hàng đợi .
Sau khi tiếp nhận yêu cầu từ JobTracker, server cha(master) sẽ phân chia công
việc cho các server con(slave). Các server con sẽ thực hiện các job được giao và
trả kết quả cho server cha.
Giai đoạn 3:
TaskTrackers dùng để kiểm tra đảm bảo các MapReduce hoạt động bình thường
và kiểm tra kết quả nhận được (quá trình output).
Khi “chạy Hadoop” có nghĩa là chạy một tập các trình nền - daemon, hoặc các

chương trình thường trú, trên các máy chủ khác nhau trên mạng của bạn. Những
trình nền có vai trò cụ thể, một số chỉ tồn tại trên một máy chủ, một số có thể
tồn tại trên nhiều máy chủ.
*Ưu điểm của Hadoop :

Hadoop framework cho phép người dùng nhanh chóng viết và kiểm tra các hệ
thống phân tán. Đây là cách hiệu quả cho phép phân phối dữ liệu và công việc
xuyên suốt các máy trạm nhờ vào cơ chế xử lý song song của các lõi CPU.
Hadoop không dựa vào cơ chế chịu lỗi của phần cứng fault-tolerance and high
availability (FTHA), thay vì vậy bản thân Hadoop có các thư viện được thiết kế
để phát hiện và xử lý các lỗi ở lớp ứng dụng.
Hadoop có thể phát triển lên nhiều server với cấu trúc master-slave để đảm bảo
thực hiện các công việc linh hoạt và không bị ngắt quãng do chia nhỏ công việc
cho các server slave được điều khiển bởi server master.
Hadoop có thể tương thích trên mọi nền tảng như Window, Linux, MacOs do
được tạo ra từ Java.


3.4 Hadoop Distributed File System (HDFS)
3.4.1 HDFS là gì ?
HDFS là viết tắt của Hadoop Distributed File System và nó là 1 hệ thống lưu trữ
chính được dùng bởi Hadoop. Nó cung cấp truy cập hiệu suất cao đến dữ liệu
trên các cụm Hadoop. Nó thường được triển khai trên các phần cứng chi phí
thấp. Các máy chủ chi phí thấp này rất dễ xảy ra lỗi phần cứng. Vì lý do này mà
HDFS được xây dựng để có khả năng chịu lỗi cao. Tốc độ truyền dữ liệu giữa
các nodes trong HDFS là rất cao, dẫn đến giảm thiểu nguy cơ lỗi.
HDFS tạo các mảnh nhỏ hơn của dữ liệu lớn và phân tán nó trên các nodes khác
nhau. Nó cũng sao chép mỗi miếng dữ liệu nhỏ hơn nhiều lần trên nhiều nodes
khác nhau. Do đó khi bất kỳ node nào có dữ liệu lỗi, hệ thống tự động dùng dữ
liệu từ 1 node khác và tiếp tục xử lý. Đây là tính năng quan trọng của HDFS

3.4.2 Kiến trúc của HDFS :
Kiến trúc của HDFS là master / slave. Một HDFS cluster luôn gồm 1
NameNode. NameNode này là 1 master server và nó quản lý hệ thống tập tin
cũng như điều chỉnh truy cập đến các tập tin khác nhau. Bổ sung cho
NameNode có nhiều DataNodes. Luôn có 1 DataNode cho mỗi máy chủ dữ liệu.
Trong HDFS, 1 tập tin lớn được chia thành 1 hoặc nhiều khối và các khối này
được lưu trong 1 tập các DataNodes.
Tác vụ chính của NameNode là mở, đóng và đổi tên các tập tin, và thư mục và
điều chỉnh truy cập đến hệ thống tập tin, trong khi tác vụ chính của DataNode là
đọc và ghi vào hệ thống tập tin. DataNode cũng làm nhiệm vụ tạo, xóa, hoặc
nhân rộng dữ liệu dựa trên chỉ dẫn từ NameNode.
Trong thực tế, NameNode và DataNode là phần mềm được thiết kế để chạy trên
máy chủ, được viết bằng Java


Namenode sẽ chịu trách nhiệm điều phối các thao tác truy cập (đọc/ghi dữ liệu)
của client lên hệ thống HDFS. Và tất nhiên, do các DataNode là nơi thật sự lưu
trữ các block của các file trên HDFS, nên chúng sẽ là nơi trực tiếp đáp ứng các
thao tác truy cập này. Chẳng hạn như khi client của hệ thống muốn đọc một file
trên hệ thống HDFS, client này sẽ thực hiện một request (thông qua RPC) đến
Namenode để lấy các metadata của file cần đọc. Từ metadata này nó sẽ biết
được danh sách các block của file và vị trí của các DataNode chứa các bản sao
của từng block. Client sẽ truy cập vào các DataNode để thực hiện các request
đọc các block.
Namenode thực hiện nhiệm vụ của nó thông qua một daemon tên namenode
chạy trên port 8021. Mỗi DataNode server sẽ chạy một daemon datanode trên
port 8022. Định kỳ, mỗi DataNode sẽ báo cáo cho NameNode biết về danh sách
tất cả các block mà nó đang lưu trữ, NameNode sẽ dựa vào những thông tin này
để cập nhật lại các metadata trong nó. Cứ sau mỗi lần cập nhật lại như vậy,
metadata trên NameNode sẽ đạt được tình trạng thống nhất với dữ liệu trên các

DataNode. Toàn bộ trạng thái của metadata khi đang ở tình trạng thống nhất này
được gọi là một checkpoint. Metadata ở trạng thái checkpoint sẽ được dùng để
nhân bản metadata dùng cho mục đích phục hồi lại NameNode nếu NameNode
bị lỗi.
4.3.3 Cơ chế Hoạt Động của HDFS
*Đọc file trên HDFS


Đầu tiên, client sẽ mở file cần đọc bằng cách gửi yêu cầu đọc file đến
NameNode. Sau đó NameNode sẽ thực hiện một số kiểm tra xem file được yêu
cầu đọc có tồn tại không, hoặc file cần đọc có đang ở trạng thái “khoẻ mạnh”
hay không. Nếu mọi thứ đều ổn, NameNode sẽ gửi danh sách các block (đại
diện bởi Block ID) của file cùng với địa chỉ các DataNode chứa các bản sao của
block này.
Tiếp theo, client sẽ mở các kết nối tới DataNode, thực hiện một RPC để yêu cầu
nhận block cần đọc và đóng kết nối với DataNode. Lưu ý là với mỗi block ta có
thể có nhiều DataNode lưu trữ các bản sao của block đó. Client sẽ chỉ đọc bản
sao của block từ DataNode “gần” nhất.
Client sẽ thực hiện việc đọc các block lặp đi lăp lại cho đến khi block cuối cùng
của file được đọc xong. Quá trình client đọc dữ liệu từ HDFS sẽ transparent với
người dùng hoặc chương trình ứng dụng client, người dùng sẽ dùng một tập API
của Hadoop để tương tác với HDFS, các API này che giấu đi quá trình liên lạc
với NameNode và kết nối các DataNode để nhận dữ liệu.

*Ghi file trên HDFS
Đầu tiên, client sẽ gửi yêu cầu đến NameNode tạo một file entry lên File
System Namespace. File mới được tạo sẽ rỗng, tức chưa có một block nào. Sau
đó, NameNode sẽ quyết định danh sách các DataNode sẽ chứa các bản sao của
file cần gì và gửi lại cho client Client sẽ chia file cần gì ra thành các block, và
với mỗi block client sẽ đóng gói thành một packet. Lưu ý là mỗi block sẽ được

lưu ra thành nhiều bản sao trên các DataNode khác nhau (tuỳ vào chỉ số độ nhân
bản của file).
Client gửi packet cho DataNode thứ nhất, DataNode thứ nhất sau khi nhận được
packet sẽ tiến hành lưu lại bản sao thứ nhất của block. Tiếp theo DataNode thứ
nhất sẽ gửi packet này cho DataNode thứ hai để lưu ra bản sao thứ hai của
block. Tương tự
DataNode thứ hai sẽ gửi packet cho DataNode thứ ba. Cứ như vậy, các
DataNode cũng lưu các bản sao của một block sẽ hình thành một ống dẫn dữ
liệu data pipe.
Sau khi DataNode cuối cùng nhận thành được packet, nó sẽ gửi lại cho
DataNode thứ hai một gói xác nhận rằng đã lưu thành công . Và gói thứ hai lại
gửi gói xác nhận tình trạng thành công của hai DataNode về DataNode thứ nhất.


Client sẽ nhận được các báo cáo xác nhận từ DataNode thứ nhất cho tình trạng
thành công của tất cả DataNode trên data pipe.
Nếu có bất kỳ một DataNode nào bị lỗi trong quá trình ghi dữ liệu, client sẽ tiến
hành xác nhận lại các DataNode đã lưu thành công bản sao của block và thực
hiện một hành vi ghi lại block lên trên DataNode bị lỗi.
Sau khi tất cả các block của file đều đã đươc ghi lên các DataNode, client sẽ
thực hiên một thông điệp báo cho NameNode nhằm cập nhật lại danh sách các
block của file vừa tạo. Thông tin Mapping từ Block ID sang danh sách các
DataNode lưu trữ sẽ được NameNode tự động cập nhật bằng các định kỳ các
DataNode sẽ gửi báo cáo cho NameNode danh sách các block mà nó quản lý.


Chương IV: Các lĩnh vực đang ứng dụng Big Data ở Việt Nam
Trong sự phát triển của công nghệ hiện nay, các kiểu xử lý và phân tích dữ liệu
truyền thống đã không còn đảm bảo được các khả năng cùng với mong muốn
của người dùng nữa. Nên tất cả đã từ từ chuyển mọi thứ sang công nghệ Big

Data
4.1 Phân tích mục tiêu của khách hàng

Đây là một trong những lĩnh vực lớn nhất của việc ứng dụng công nghệ Big
Data, nó giúp các cơ quan, tổ chức hiểu rõ hơn về nhu cầu khách hàng cũng như
hành vi và sở thích của họ. Các công ty mở rộng bộ dữ liệu truyền thống của họ,
kết hợp với dữ liệu truyền thông, xã hội, nhật ký trình, đồng thời phân tích văn
bản và dữ liệu cảm biến… để có bức tranh hoàn chỉnh, toàn diện hơn về khách
hàng. Mục tiêu lớn được hướng tới là tạo ra các mô hình tiên đoán. Ví dụ, nhà
bán lẻ Target của Hoa Kỳ có thể dự đoán gần như chính xác thời điểm một
khách hàng của họ mong muốn sinh em bé, để giới thiệu, cung cấp các sản
phẩm phù hợp. Sử dụng Big Data, các công ty viễn thông có thể dự đoán tốt hơn
việc thay đổi mong muốn của khách hàng; công ty bảo hiểm xe hơi hiểu rõ
khách hàng của họ lái xe như thế nào... Ngay cả các chiến dịch bầu cử của chính
phủ cũng có thể được tối ưu hóa bằng cách sử dụng phân tích dữ liệu lớn. Một
số người tin rằng, chiến thắng của cựu tổng thống Hoa Kỳ Barack Obama trong
chiến dịch bầu cử tổng thống vào năm 2012 là nhờ khả năng vượt trội của các
công nghệ phân tích Big Data.
4.2 Hiểu và tối ưu hóa sản phẩm, quy trình kinh doanh
Big Data ngày càng được sử dụng nhiều trong việc tối ưu hóa quy trình kinh
doanh. Các nhà bán lẻ có thể tối ưu hóa cổ phiếu của họ dựa trên các dự đoán
được tạo từ dữ liệu truyền thông xã hội, xu hướng tìm kiếm trên web; các nhà


bán lẻ sử dụng rất nhiều phân tích dữ liệu lớn để tối ưu hóa chuỗi cung ứng,
cũng như tuyến đường phân phối. Nhưng Big Data còn được ứng dụng cả trong
việc đo lường văn hóa công ty và hiệu suất làm việc của nhân viên. Ví dụ, Công
ty Sociometric Solutions (Hoa Kỳ) đặt cảm biến vào tấm huy hiệu tên nhân viên
để có thể phát hiện các động lực xã hội tại nơi làm việc. Các cảm biến sẽ báo
cáo về cách nhân viên di chuyển xung quanh nơi làm việc, nói chuyện, và thậm

chí cả cách giao tiếp trong công việc của họ.
Mọi người có thể gắn thẻ RFID lên điện thoại, chìa khóa hoặc kính của bạn, để
xác định vị trí của chúng, tránh bị mất. Nhưng ở tầm cao hơn, công nghệ này có
thể mở ra một lĩnh vực hoàn toàn mới của “dữ liệu nhỏ”, nếu Big Data đang
xem xét số lượng lớn thông tin và phân tích nó, thì dữ liệu nhỏ hướng tới từng
sản phẩm riêng lẻ, ví dụ như việc theo dõi thùng sữa chua trong một lô hàng để
nắm được khả năng bán hàng của các đại lý phân phối.
4.3 Chăm sóc sức khỏe cộng đồng
Sức mạnh tính toán của công nghệ Big Data cho phép giải mã toàn bộ chuỗi
AND của người chỉ trong vài phút, hỗ trợ đắc lực các bác sỹ trong việc đưa ra
phác đồ điều trị riêng cho từng bệnh nhân, phù hợp với đặc tính di truyền của
họ. Hay những gì sẽ xảy ra khi tất cả dữ liệu cá nhân từ đồng hồ và thiết bị đeo
thông minh được sử dụng để theo dõi sức khỏe từ xa cho hàng triệu người, giúp
sớm phát hiện ra các bệnh họ mắc phải. Ví dụ vòng tay thông minh Jawbone
giúp thu thập dữ liệu, từ đó nhận biết và đo đạc một cách chính xác mức độ tiêu
thụ calo trong các hoạt động mà người đeo thực hiện, cũng như theo dõi giấc
ngủ của họ vào ban đêm để phân tích những dấu hiệu bất thường; ResearchKit
- ứng dụng chăm sóc sức khỏe của Apple, đã biến điện thoại di động thành một
thiết bị nghiên cứu y sinh học, phục vụ cho các nghiên cứu về sức khỏe thông
qua việc theo dõi số bước đi thực hiện trong một ngày, hoặc yêu cầu bạn trả lời
các câu hỏi về cảm giác sau khi hóa trị, hay theo dõi căn bệnh Parkinson đang
tiến triển như thế nào… Các kỹ thuật Big Data còn được sử dụng để theo dõi trẻ
sơ sinh trong một số trường hợp sinh non và ốm yếu. Bằng cách ghi lại và phân
tích nhịp tim, nhịp thở của bé, các đơn vị cung cấp thiết bị đã có thể dự đoán
nhiễm trùng trước 24 giờ khi có bất kỳ triệu chứng thể chất nào xuất hiện, giúp
đưa ra những can thiệp sớm.
Nhưng ứng dụng nổi bật nhất của Big Data trong lĩnh vực y tế là phân tích dữ
liệu, giúp theo dõi và dự đoán sự phát triển của dịch bệnh. Việc tích hợp dữ liệu
từ hồ sơ y tế, phân tích truyền thông xã hội… cho phép theo dõi dịch cúm theo
thời gian thực, chỉ đơn giản bằng cách lắng nghe những gì mọi người đang nói.

Từ năm 2014, Google đã dự đoán dịch cúm dựa trên lưu lượng và vị trí của


người tìm kiếm, tuy việc bạn tìm kiếm “các triệu chứng cúm” không có nghĩa là
bạn đang bị bệnh, nhưng công nghệ Big Data hiện nay đã làm được nhiều hơn
thế.
4.4 Nâng cao hiệu suất thể thao
Hầu hết các môn thể thao đang sử dụng công nghệ Big Data. Chẳng hạn như,
công cụ IBM SlamTracker dành cho các giải đấu quần vợt; sử dụng phân tích
video theo dõi hiệu suất của người chơi trong bóng đá hoặc bóng chày; công
nghệ cảm biến trong thiết bị thể thao như bóng rổ hoặc gậy golf cho phép nhận
phản hồi (qua điện thoại thông minh và máy chủ đám mây), giúp cải thiện
những thao tác chưa đúng. Nhiều đội thể thao còn theo dõi vận động viên trong
giờ nghỉ thông qua sử dụng công nghệ Big Data để điều chỉnh chế độ dinh
dưỡng, vận động và cả giấc ngủ, cũng như phân tích các cuộc trò chuyện trên
phương tiện truyền thông xã hội để theo dõi mức độ hạnh phúc, tình cảm của
các vận động viên.
Trong môn thể thao vua, những câu lạc bộ lớn thường sử dụng thông tin, thống
kê chi tiết từ công nghệ Big Data để cải thiện năng suất của cầu thủ, giúp chuẩn
bị chiến thuật và đánh giá những cầu thủ tiềm năng. Chúng ta có thể thấy ở kỳ
World Cup năm 2014, nhà vô địch Đức đã thành công khi ứng dụng những hiểu
biết về công nghệ Big Data vào bóng đá. Nhiều người hâm mộ bất ngờ khi biết
rằng, các cầu thủ của đội tuyển Đức đã sử dụng bộ trang phục được trang bị hệ
thống MiCoach của Adidas ở những buổi luyện tập trước và trong quá trình giải
đấu diễn ra. Đây là dịch vụ giám sát sinh lý, thu thập và truyền tải thông tin trực
tiếp từ cơ thể các cầu thủ (bao gồm nhịp tim, quãng đường đã di chuyển, tốc độ,
gia tốc và năng lượng…), rồi gửi về một chiếc iPad của ban huấn luyện, phục
vụ cho việc giám sát, phân tích, đánh giá điểm rơi phong độ. Điều thú vị là nó
còn giúp tìm ra được những cầu thủ nào thích hợp để đá cùng nhau hơn là đá
với những người khác.

4.5 Cải thiện an ninh và thực thi pháp luật
Big Data được áp dụng rất nhiều trong việc cải thiện bảo mật và cho phép thực
thi pháp luật. Ví dụ Cơ quan An ninh quốc gia Hoa Kỳ (NSA) sử dụng các phân
tích dữ liệu lớn dự đoán sớm về các cuộc khủng bố; một số đơn vị sử dụng công
nghệ Big Data để phát hiện và ngăn chặn các cuộc tấn công trên mạng; lực
lượng cảnh sát sử dụng các công cụ Big Data để bắt tội phạm và dự đoán hoạt
động của các tổ chức tội phạm; các công ty tín dụng sử dụng Big Data để phát
hiện các giao dịch gian lận.
Trong môi trường cạnh tranh khốc liệt hiện nay, không chỉ các tổ chức chính
phủ mà các doanh nghiệp cũng đang vận dụng rất nhiều yếu tố để bảo mật


quyền lợi về thương hiệu, giảm thiểu rủi ro từ tác động bên ngoài. Thông qua
phân tích dữ liệu, Big Data có thể giúp các tổ chức doanh nghiệp xác định các
hoạt động khả nghi, và chỉ ra hành vi gian lận để giải quyết.
4.6 Xây dựng thành phố thông minh
Big Data được sử dụng để cải thiện nhiều khía cạnh của các thành phố và quốc
gia. Trong tương lai, Big Data sẽ giữ vai trò chủ đạo đối với các thành phố,
hướng tới xử lý dữ liệu ở những phạm vi, cấp độ siêu nhỏ và truyền tải thông tin
tới cả chính phủ lẫn người dân trong khung thời gian giới hạn. Nó cho phép các
thành phố tối ưu hóa hoạt động dựa trên lưu lượng truy cập thông tin giao thông
theo thời gian thực, cũng như phân tích dữ liệu truyền thông để đánh giá các vấn
đề về xã hội…
Một số thành phố hiện đang thử nghiệm các mô hình Big Data với mục đích
chuyển đổi sang thành phố thông minh, nơi mà tất cả các quy trình, cơ sở hạ
tầng giao thông và tiện ích đều được kết nối với nhau. Thành phố Long Beach,
California (Hoa Kỳ) đang sử dụng đồng hồ nước thông minh để phát hiện mất
trộm nước theo thời gian thực, giúp một số chủ nhà cắt giảm tới 80% lượng
nước sử dụng. Điều đó rất quan trọng khi tiểu bang này thường phải trải qua
những đợt hạn hán tồi tệ. Los Angeles sử dụng dữ liệu từ cảm biến và 4.500

camera lắp đặt trên các đường phố để kiểm soát đèn giao thông, giúp giảm tắc
nghẽn giao thông lên đến 16%.
Startup công nghệ Veniam đang thử nghiệm một cách mới để tạo ra các điểm
truy cập wifi di động trên toàn thành phố Porto, Bồ Đào Nha. Hơn 600 xe buýt
và taxi thành phố đã được trang bị máy phát wifi, tạo ra điểm truy cập wifi miễn
phí lớn nhất thế giới. Đổi lại, thành phố nhận được một lượng lớn dữ liệu, để bù
đắp chi phí về wifi; các dữ liệu này sẽ được cung cấp cho các bộ phận quản lý,
giúp cảnh báo khi thùng rác đầy, hạn chế lãng phí thời gian di chuyển, tối ưu
hóa giờ làm việc, hoặc cảnh báo về tắc đường, nắm bắt hoạt động của các tổ
chức tội phạm…
4.7 Hoạt động tài chính - ngân hàng
Sự gia tăng của hoạt động giao dịch tần suất cao (High frequency trading HFT) theo thời gian thực đã khiến các nhà quản lý trong lĩnh vực chứng khoán
và thị trường chứng khoán phải làm việc rất nhiều để theo kịp sự mở rộng của
dữ liệu cấu trúc và phi cấu trúc. Bằng cách sử dụng những công cụ và kỹ thuật
mới của Big Data, những công ty hoạt động trong lĩnh vực thị trường vốn có thể
cải thiện hoạt động giám sát giao dịch và phát hiện được những hành vi giao
dịch bất thường và hành vi phạm pháp trước khi chúng được thực hiện. Hình
thức HFT đang chiếm hơn 60% tổng số giao dịch trên thị trường Hoa Kỳ.


Bên cạnh đó, đặc thù của hoạt động ngân hàng tạo ra một lượng dữ liệu khổng
lồ đến từ cả bên trong và bên ngoài. Trong nội bộ, đó là hệ thống xử lý giao
dịch, hệ thống quản lý, hệ thống ATM, hệ thống giám sát hạ tầng… Yếu tố dữ
liệu bên ngoài thường được xác định từ các tổ chức thông tin tín dụng, ngân
hàng nhà nước, cơ quan thuế, tổng cục thống kê, bảo hiểm; mạng xã hội, các
giao dịch trực tuyến qua mạng; hệ thống lưu trữ dữ liệu ngành, quốc gia… Giá
trị của dữ liệu là độ tin cậy để các tổ chức ra quyết định, cung cấp câu trả lời
nhanh, chính xác cho các câu hỏi kinh doanh; truy cập thông tin nhanh chóng,
dễ dàng; hiểu biết sâu sắc về hành vi của khách hàng; tạo ra tri thức mới… Từ
những dữ liệu có cấu trúc như lịch sử giao dịch, hồ sơ khách hàng tới những dữ

liệu phi cấu trúc như hoạt động của khách hàng trên website, ứng dụng mobile
banking hay trên mạng xã hội…, Big Data sẽ đem lại những lợi thế cạnh tranh
và hiệu quả to lớn cho lĩnh vực này.
Chương V: Kiến thức nền tảng cho các bạn sinh viên
5.1 Tại sao nên theo học ngành Big Data ?

Theo “The Economist” – Dầu không còn là tài nguyên quý giá nhất thế giới
nữa, thay vào đó là Big Data, điều đó lý giải tại sao bạn nên theo học ngành Big
Data. Big Data không chỉ là công nghệ, nó còn là sự chuyển đổi về mô hình. Vì
vậy bạn nên học công nghệ này càng sớm càng tốt nếu muốn tồn tại trong ngành
CNTT. Mọi công ty đều cần đến Big Data nếu họ không muốn dẫn đến phá sản.
Vì vậy, đây là thời điểm vàng để bắt đầu sự nghiệp của mình trong Big Data
thay vì trong bất kỳ công nghệ cũ nào đang nhanh chóng trở nên lỗi thời. Bạn sẽ
nhận thấy được sự phát triển nhanh chóng trong sự nghiệp của mình.


5.2 Những kỹ năng bắt buộc nào cần có đối với một người mới đi làm trong
ngành Big Data ?
Nếu bạn có các kỹ năng mà nhà tuyển dụng cần thì không ai có thể ngăn bạn
đảm nhận một vị trí trong lĩnh vực Big Data.
Kiến thức lập trình với Java cơ bản được coi là nền tảng bởi các nhà tuyển
dụng. Với niềm đam mê, yêu thích với Big Data cùng với kỹ năng thuyết trình
tốt và khả năng sử dụng Java, chắc chắn bạn sẽ nhận được một công việc trong
ngành này.
Tiếp đến là kiến thức kỹ thuật. Các cấu hình khác nhau trong Big Data đòi hỏi
bộ kỹ năng khác nhau nhưng có một số công nghệ phổ biến mà bạn nên biết
trước khi nộp đơn cho một vị trí trong ngành Big Data. Quan trọng nhất trong số
đó là Hadoop, Apache Spark, Pig, Hive, HBase và Yarn.
5.3 Sinh viên học Big Data cần chuẩn bị những gì ?
(1) Bắt đầu bằng cách học một ngôn ngữ lập trình

Nếu bạn muốn giải quyết các bài toán big data, bạn nên biết
Python/Java. Nếu bạn không biết cả hai thứ này thì lời khuyên là
bắt đầu với Python.
Sau khi bạn đã nắm được những kiến thức của bản của một
ngôn ngữ lập trình như Python, Java. Bước tiếp theo là tìm hiểu
các công nghệ sử dụng cho Big data
(2) Tìm hiểu những kĩ thuật cơ bản Big data
MapReduce là một kỹ thuật xử lý và mô hình chương trình cho
tính toán phân tán dựa trên Java.
Thuật toán MapReduce chứa hai nhiệm vụ quan trọng là:


Map (Bản đồ)



Giảm (Reduce).

Map lấy một tập hợp dữ liệu và chuyển đổi nó thành một tập
hợp dữ liệu khác, trong đó các phần tử riêng lẻ được chia thành
các bộ dữ liệu (cặp khóa / giá trị).


Thứ hai, giảm tác vụ, lấy đầu ra từ bản đồ làm đầu vào và kết
hợp các bộ dữ liệu đó thành một bộ dữ liệu nhỏ hơn.
Như trình tự của tên MapReduce ngụ ý, tác vụ rút gọn luôn
được thực hiện sau công việc bản đồ.
Ưu điểm chính của MapReduce là dễ dàng mở rộng quy mô xử
lý dữ liệu trên nhiều nút tính toán. Theo mô hình MapReduce,
các nguyên hàm xử lý dữ liệu được gọi là trình ánh xạ và trình

khử. Việc phân tách một ứng dụng xử lý dữ liệu thành các trình
ánh xạ và bộ giảm tốc đôi khi không cần thiết.
Nhưng, một khi chúng ta viết một ứng dụng ở dạng MapReduce,
việc mở rộng ứng dụng để chạy trên hàng trăm, hàng ngàn
hoặc thậm chí hàng chục nghìn máy trong một cụm chỉ là một
sự thay đổi cấu hình.
Khả năng mở rộng đơn giản này là điều đã thu hút nhiều lập
trình viên sử dụng mô hình MapReduce.
(3) Sơ lược về mô hình lập trình MapReduce
Nói chung, mô hình MapReduce dựa trên việc gửi máy tính đến nơi chứa dữ
liệu.
Chương trình MapReduce thực thi trong ba giai đoạn, đó là giai đoạn bản đồ,
giai đoạn xáo trộn và giai đoạn giảm.


Giai đoạn Map – Công việc ánh xạ hoặc ánh xạ là xử lý dữ liệu đầu
vào. Nói chung, dữ liệu đầu vào ở dạng tệp hoặc thư mục và được lưu
trữ trong hệ thống tệp Hadoop (HDFS). Các tập tin đầu vào được
chuyển đến dòng chức năng ánh xạ theo dòng. Trình ánh xạ xử lý dữ
liệu và tạo ra một số lượng nhỏ dữ liệu.



Giai đoạn Reduce– Giai đoạn này là sự kết hợp giữa giai đoạn Shuffle
và giai đoạn Giảm. Công việc Reducer sườn là xử lý dữ liệu xuất phát
từ trình ánh xạ. Sau khi xử lý, nó tạo ra một bộ đầu ra mới, sẽ được lưu
trữ trong HDFS.


Trong công việc MapReduce, Hadoop gửi Map và Giảm các tác vụ đến các máy

chủ phù hợp trong cụm.
Khung quản lý tất cả các chi tiết truyền dữ liệu, chẳng hạn như phát hành tác vụ,
xác minh hoàn thành nhiệm vụ và sao chép dữ liệu xung quanh cụm giữa các
nút.
Hầu hết các tính toán diễn ra trên các nút có dữ liệu trên các đĩa cục bộ làm
giảm lưu lượng mạng.
Sau khi hoàn thành các nhiệm vụ nhất định, cụm thu thập và giảm dữ liệu để tạo
thành một kết quả phù hợp và gửi lại cho máy chủ Hadoop.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×