1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo giữa kỳ big data hadoop

29 7 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Giữa Kỳ Big Data - Hadoop
Tác giả Nguyễn Minh Đức, Bùi Xuân Hòa, Phạm Quý Đô
Người hướng dẫn TS. Vũ Tiến Dũng
Trường học Trường Đại Học Khoa Học Tự Nhiên
Chuyên ngành Cơ Sở Dữ Liệu
Thể loại báo cáo
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 29
Dung lượng 3,89 MB

Nội dung

Đây là những gì chúng ta gọi là "Big Data" -một thuật ngữ mô tả khối lượng lớn, đa dạng và phức tạp của dữ liệu mà chúng taphải đối mặt.Để khai thác và tận dụng tối đa tiềm năng của Big

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA TOÁN - CƠ - TIN HỌC

BÁO CÁO GIỮA KỲ

BIG DATA - HADOOP

Học phần: Cơ sở dữ liệu (MAT3507 6)

Giảng viên: TS Vũ Tiến Dũng

Hà Nội - 2023

Trang 2

Nhóm thực hiện: Nhóm 3 Nguyễn Minh Đức - 22001567 Bùi Xuân Hòa - 22001583 Phạm Quý Đô – 22001562

PHÂN CÔNG CÔNG VIỆC:

Tìm hiểu tổng quan về Hadoop Tất cả các thành viên

Tải và chạy thử chương trình Tất cả thành viên

Hoàn thiện, chỉnh sửa bào cáo Tất cả thành viên

Hoàn thiện, chỉnh sửa slide Tất cả thành viên

Trang 3

Mục lục

Lời nói đầu 5

PHẦN I: BIG DATA 6

1 KHÁI NIỆM 6

2 ĐẶC TRƯNG 6

3 ỨNG DỤNG CỦA BIG DATA 8

4 CÁC CÔNG NGHỆ ĐẶC BIỆT DÀNH CHO BIG DATA 11

5 NHỮNG KHÓ KHĂN KHI LÀM VIỆC VỚI BIG DATA 14

PHẦN II: HADOOP 15

1 GIỚI THIỆU 15

2 CÁC ỨNG DỤNG CỦA HADOOP TRONG CÁC CÔNG TY 16

3 CÁC THÀNH PHẦN CHÍNH CỦA HADOOP 17

3.1 Hadoop Distributes FileSystem(HDFS) 17

3.2 Hadoop YARN 21

3.3 Hadoop Map Reduce 24

3.4 Hadoop Common 26

4 CÀI ĐẶT VÀ CHẠY THỬ HADOOP 27

4.1 Một số yêu cầu về phần cứng và phần mền cho dành cho Hadoop 27 4.2 Cài đặt 27

4.3 Chương trình Word Count 27

Tài liệu tham khảo 28

Tổng kết 29

Trang 5

Lời nói đầu

Trong thời đại số hóa ngày nay, dữ liệu đã trở thành một tài nguyên vô cùng quýgiá và quyết định đến sự phát triển của các tổ chức và doanh nghiệp Khối lượng dữliệu không ngừng tăng lên từ các nguồn khác nhau như hệ thống giao dịch, mạng xãhội, thiết bị IoT và nhiều nguồn khác Đây là những gì chúng ta gọi là "Big Data" -một thuật ngữ mô tả khối lượng lớn, đa dạng và phức tạp của dữ liệu mà chúng taphải đối mặt

Để khai thác và tận dụng tối đa tiềm năng của Big Data, chúng ta cần có các côngnghệ và công cụ phù hợp để xử lý, lưu trữ và phân tích dữ liệu một cách hiệu quả.Trong bối cảnh này, Hadoop đã trở thành một trong những nền tảng phổ biến nhấtcho xử lý dữ liệu lớn Hadoop cung cấp một hệ thống phân tán mở và scalable, chophép chúng ta xử lý và lưu trữ dữ liệu trong các cụm máy tính với hàng trăm hoặcthậm chí hàng nghìn máy chủ

Trong bài báo cáo này, chúng tôi sẽ tìm hiểu về hai khái niệm quan trọng này: BigData và Hadoop Bằng cách hiểu rõ về Big Data và Hadoop, chúng ta sẽ nhận thứcđược tiềm năng và lợi ích mà chúng mang lại trong việc giải quyết các vấn đề phứctạp và trích xuất thông tin quan trọng từ dữ liệu khổng lồ

Hy vọng rằng bài báo cáo này sẽ giúp bạn hiểu rõ hơn về Big Data và Hadoop, vàcung cấp một cái nhìn tổng quan về những khái niệm này Chúng tôi hi vọng rằng nộidung này sẽ truyền cảm hứng và khơi gợi sự tò mò để nghiên cứu sâu hơn về lĩnh vựcđầy tiềm năng này

Trang 6

PHẦNI:BIG DATA

1 KHÁINIỆM

•Big Data bao gồm các tập dữ liệu quá lớn (kích thước) hoặc quá phức tạp(cấu trúc), vượt quá khả năng thu thập, sắp xếp, quản lý và xử lý dữ liệucủa các công cụ phần mềm thông thường

•Ví dụ:

- Google thu thập và lưu trữ hàng tỷ truy vấn tìm kiếm hàng ngày từ người dùngtrên toàn cầu Dữ liệu này bao gồm từ khóa tìm kiếm, thời gian, vị trí địa lý vàthông tin người dùng khác

- Facebook có hơn 1,9 tỷ người dùng đồng thời, có hàng trăm server xử lý vàlưu trữ dữ liệu

- Shopee thu thập thông tin về giao dịch trên nền tảng của họ Dữ liệu này baogồm thông tin về sản phẩm được mua, giá cả, thời gian giao dịch, địa chỉ giaohàng và thông tin thanh toán Dữ liệu giao dịch này giúp Shopee phân tích xuhướng mua sắm, đưa ra đề xuất sản phẩm và cải thiện trải nghiệm mua sắmcủa người dung

2 ĐẶCTRƯNG

Năm 2001, người ta đưa ra khái niệm ‘3Vs’ nhằm nói đến 3 đặc trưng quan trọng củaBig data Đến năm 2014, khái niệm ‘5Vs’ ra đời và bổ sung vào ‘3Vs’ 2 đặc trưngkhác và được áp dụng đến ngày nay Cụ thể, 5 đặc trưng của Big data là:

Volume: Khối lượng dữ liệu

Variety: Nhiều loại dữ liệu đa dạng

Velocity: Vận tốc mà dữ liệu cần phải được xử lý và phân tích

Veracity: Độ chính xác

Value: Giá trị của dữ liệu

Trang 7

a Volume

Big Data (“dữ liệu lớn”) là tập hợp dữ liệu có dung lượng lưu trữ vượt mứcđảm đương của những ứng dụng và công cụ truyền thống Kích cỡ của BigData đang từng ngày tăng lên, và tính đến năm 2012 thì nó có thể nằm trongkhoả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 mà thôi

b Variety

Hình thức lưu trữ và chủng loại dữ liệu ngày một đa dạng hơn Trước đâychúng ta hay nói đến dữ liệu có cấu trúc thì ngày nay hơn 80% dữ liệu trên thếgiới được sinh ra là phi cấu trúc (tài liệu, blog, hình ảnh, video, voice v.v.).Công nghệ Big Data cho phép chúng ta ngày nay liên kết và phân tích đa dạngchủng loại dữ liệu với nhau như comments/post của một nhóm người dùngnào đó trên Facebook với thông tin video được chia sẻ từ Youtube và Twitter

c Velocity

Dung lượng gia tăng của dữ liệu rất nhanh và tốc độ xử lý đang tiến tớireal-time 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 ngày hôm 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 một tiên tiến cho phépchúng ta xử lý tức thì trước khi chúng được lưu trữ vào cơ sở dữ liệu

d Veracity

Một trong những tính chất phức tạp nhất của BigData là độ chính xác của dữliệu Với xu hướng Social Media và Social Network ngày nay và sự gia tăngmạnh mẽ tính tương tác và chia sẻ của người dùng Mobile làm cho bức tranhxá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àitoá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ấtquan trọng của BigData

e Value

Giá trị thông tin là tính chất quan trọng nhất của xu hướng công nghệ BigData Ở đây doanh nghiệp phải hoạch định được những giá trị thông tin hữuích của BigData cho vấn đề, bài toán hoặc mô hình hoạt động kinh doanh củamình Có thể nói việc đầu tiên là phải xác định được tính chất “Value” thì mớinên bắt tay vào BigData

Trang 8

3 ỨNGDỤNGCỦABIGDATA

Big data và phân tích có thể được áp dụng trong nhiều vấn đề kinh doanh vànhiều trường hợp sử dụng khác nhau Dữ liệu lớn (Big Data) trên thực tế đang đượcứng dụng vào rất nhiều lĩnh vực của nền kinh tế, tạo những chuyển biến ấn tượng,giúp tăng hiệu quả và năng suất của doanh nghiệp

Một vài lĩnh vực phổ biến:

a Ngành ngân hàng

Trong hệ thống ngân hàng, Big Data đã và đang được ứng dụng hiệu quả thể hiệnvai trò quan trọng của mình trong mọi hoạt động của ngân hàng: từ thu tiền mặt đếnquản lý tài chính

Ngân hàng ứng dụng Big Data như thế nào:

Sử dụng các kỹ thuật phân cụm giúp đưa ra quyết định quan trọng Hệthống phân tích có thể xác định các địa điểm chi nhánh nơi tập trung nhiềunhu cầu của khách hàng tiềm năng, để đề xuất lập chi nhánh mới

Kết hợp nhiều quy tắc được áp dụng trong các lĩnh vực ngân hàng để dựđoán lượng tiền mặt cần thiết săn sàng cung ứng ở một chi nhánh tại thờiđiểm cụ thể hàng năm

Khoa học dữ liệu hiện đang là nền tảng của hệ thống ngân hàng kĩ thuậtsố

Machine learning và AI đang được nhiều ngân hàng sử dụng để phát hiệncác hoạt động gian lận và báo cáo cho các chuyên viên liên quan

Khoa học dữ liệu hô trợ xử lý, lưu trữ và phân tích lượng dữ liệu khổng lồ

từ các hoạt động hàng ngày và giúp đảm bảo an ninh cho ngân hàng

Trang 9

b Ngành y tế

Khoa học dữ liệu đang dần khăng định vai trò khá quan trọng trong việc cải thiện sứckhỏe con người ngày nay Big Data không chỉ được ứng dụng để xác định phươnghướng điều trị mà giúp cải thiện quá trình chăm sóc sức khỏe

Ngành y tế ứng dụng Big Data:

Cho phép người quản lý ca dự đoán các bác sĩ cần thiết vào những thời điểm

cụ thể

Theo dõi tình trạng bệnh nhân bằng để theo dõi hồ sơ sức khỏe điện tử

Sử dụng các thiết bị kỹ thuật số có thể đeo, hệ thống Big Data có thể theodõi bệnh nhân và gửi báo cáo cho các bác sĩ liên quan

Big Data có thể đánh giá các triệu chứng và xác định nhiều bệnh ở giai đoạnđầu

Có thể lưu giữ các hồ sơ nhạy cảm được bảo mật và lưu trữ lượng dữ liệukhổng lồ một cách hiệu quả

Các ứng dụng Big Data cũng có thể báo trước khu vực có nguy cơ bùngphát dịch như: sốt xuất huyết hoặc sốt rét

c Thương mại điện tử

Thương mại điện tử không chỉ tận hưởng những lợi ích của việc điều hành trực tuyến

mà còn phải đối mặt với nhiều thách thức để đạt được các mục tiêu kinh doanh Lý

do là bởi các doanh nghiệp dù là nhỏ hay lớn, khi đã tham gia vào thị trường nàyđều cần đầu tư mạnh để cải tiến công nghệ Big Data có thể tạo lợi thế cạnh tranhcho doanh nghiệp bằng cách cung cấp thông tin chuyên sâu và các bản báo cáo phântích xu hướng tiêu dùng

Thương mại điện tử ứng dụng Big Data:

Có thể thu thập dữ liệu và yêu cầu của khách hàng ngay cả trước khi kháchthực sự bắt đầu giao dịch

Tạo ra một mô hình tiếp thị hiệu suất cao

Nhà quản lý trang thương mại điện tử có thể xác định các sản phẩm đượcxem nhiều nhất và tối ưu thời gian hiển thị của các trang sản phẩm này.Đánh giá hành vi của khách hàng và đề xuất các sản phẩm tương tự Điềunày làm tăng khả năng bán hàng, từ đó tạo ra doanh thu cao hơn

Trang 10

Nếu bất kỳ sản phẩm nào được thêm vào giỏ hàng nhưng cuối cùng khôngđược khách hàng mua, Big Data có thể tự động gửi code khuyến mại chokhách hàng cụ thể đó.

Các ứng dụng Big Data còn có thể tạo một báo cáo tùy chỉnh theo các tiêuchí: độ tuổi, giới tính, địa điểm của khách truy cập, v.v

Xác định các yêu cầu của khách hàng, những gì họ muốn và tập trung vàoviệc cung cấp dịch vụ tốt nhất để thực hiện nhu cầu của họ

Phân tích hành vi, sự quan tâm của khách hàng và theo xu hướng của họ đểtạo ra các sản phẩm hướng đến khách hàng

Cung cấp các sản phẩm tốt hơn với chi phí thấp hơn

Có thể thu thập nhiều dữ liệu về hành vi khách hàng để thiết kế mô hìnhtiếp thị tối ưu dành được tùy biến theo đối tượng hoặc nhóm đối tượng, tăngkhả năng bán hàng

Tìm ra sự tương đồng giữa khách hàng và nhu cầu của họ Từ đó, việcnhắm mục tiêu các chiến dịch quảng cáo có thể được tiến hành dễ dàng hơndựa trên những phân tích đã có trước đó

Digital Marketing ứng dụng Big Data:

Phân tích thị trường, đối thủ cạnh tranh và đánh giá mục tiêu kinh doanh.Điều này giúp cho doanh nghiệp xác định rõ hơn, đâu là cơ hội tốt để tiếptục tiến hành các kế hoạch kinh doanh tiếp theo

Có thể xác định người dùng trên các phương tiện truyền thông xã hội vànhắm mục tiêu cho họ dựa trên nhân khẩu học, giới tính, thu nhập, tuổi tác

và sở thích

Tạo báo cáo sau môi chiến dịch quảng cáo bao gồm hiệu suất, sự tham giacủa khán giả và những gì có thể được thực hiện để tạo kết quả tốt hơn.Khoa học dữ liệu được sử dụng cho các khách hàng nhắm mục tiêu và nuôidưỡng chu trình khách hàng

Trang 17

3 CÁCTHÀNHPHẦNCHÍNHCỦAHADOOP

Hệ sinh thái đơn giản của Hadoop

3.1 Hadoop Distributes FileSystem(HDFS)

Trang 18

a Kiến trúc của HDFS

HDFS là hệ thống file lưu trữ dữ liệu phân tán, có khả năng chịu lôi cao, triểnkhai trong các phần cứng thông thường, có khă năng truy cập throughput, thích hợpvới Big Data

Các thành phần chính: NameNode, DataNode, Secondary NameNode

NameNode

Lưu trữ thông tin metadata (fsimage, edit logs)

Quản lý user truy cập vào hệ thống

Giao tiếp với client cho thao tác đọc ghi dữ liệu

Cung cấp dịch vụ đăng ký DataNode mới trong cụm, nhận heartbeatcủa DataNode

Xác định địa chỉ của file, replicated file

DataNode

Cung cấp các block để lưu trữ file

Giao tiếp với client cho thao tác đọc ghi

Khởi tạo và xóa block data

Nhân rộng data trong cụm

Giữ liên lạc với NameNode thông qua gửi các heartbeat theo định kỳSecondary NameNode

Lưu các thông tin trên fsimage của NameNode theo định kỳ

Phục vụ cho việc khôi phục lại thông tin metadata trên NameNode khigặp sự cố

Block trong HDFS: là đơn vị cơ bản của dữ liệu được lưu trữ và quản lý trong hệthống

Trong Hadoop version 1: kích thước của block là 64MB

Trong Hadoop version 2: kích thước của block là 128MB và có thể lên tới256MB

(Trong hệ thống lưu trữ file bình thường thì môi block chỉ lưu trữ được từ vàitrăm KB đến vài MB)

Trang 19

Rack Awareness: là một tính năng giúp tối ưu hóa việc định vị và phân phối dữ liệu.Rack có 2 điều kiện chặt đó là:

- Không có quá 1 block trên 1 node

- Không có quá 2 block trên cùng 1 Rack

Mục đích: tăng khả năng chống chịu lôi

VD: Giả sử Rack – 1 chết, dữ liệu trong Block A vẫn còn được lưu trữ ở

Rack – 2, dữ liệu của Block B vẫn được lưu trữ trong Rack – 3

b Đọc và ghi dữ liệu trên HDFS

Ghi dữ liệu:

Ứng dụng hoặc client gửi yêu cầu ghi dữ liệu tới NameNode trong HDFS.NameNode kiểm tra xem tệp tin và thư mục liên quan đã tồn tại hay chưa, vàxác định vị trí lưu trữ cho các khối dữ liệu mới

NameNode trả về thông tin về các DataNode (vị trí lưu trữ) cho ứng dụnghoặc client

Ứng dụng hoặc client truyền dữ liệu theo các khối tới các DataNode được chỉđịnh

Trang 20

Các DataNode nhận dữ liệu và lưu trữ các khối trên đĩa cục bộ.

Khi một khối dữ liệu được ghi thành công, DataNode gửi thông báo choNameNode để cập nhật thông tin về bản sao khối và vị trí lưu trữ của nó.NameNode cập nhật thông tin về khối mới vào siêu dữ liệu (metadata)

Đọc dữ liệu:

Ứng dụng hoặc client gửi yêu cầu đọc dữ liệu tới NameNode

NameNode truy vấn siêu dữ liệu để xác định vị trí lưu trữ và các DataNodechứa khối dữ liệu

NameNode trả về thông tin vị trí lưu trữ cho ứng dụng hoặc client

Ứng dụng hoặc client truy vấn các DataNode được chỉ định để lấy dữ liệu từcác khối

Các DataNode truyền dữ liệu các khối tới ứng dụng hoặc client

Ứng dụng hoặc client hợp nhất và xử lý dữ liệu nhận được từ các khối để tạo

ra kết quả đọc

Mô hình ghi dữ kiệu trên HDFS

Trang 21

3.2 Hadoop YARN

a Các thành phần của YARN

YARN là một thành phân quang trọng trong Hadoop, YARN có 2 chức năng cơ bản là quản lý tài nguyên và lập lịch công việc Các thành phần chính của YARN bao gồm ResourceManager, NodeManager và ApplicationMaster.

Mô hình đọc dữ liệu trên HDFS

Trang 22

ResourceManager có nhiệm vụ quản lý toàn bộ tài nguyên trong cụm, nó cungcấp tài nguyên là core, RAM cho ứng dụng cần dùng, đồng thời cũng là đầu nãoquản lý các NodeManager Trong một namespace chỉ có một activeResourceManger tại một thời điểm.

ResourceManager có hai thành phần chính là Scheduler và ApplicationManager:Scheduler: có nhiệm vụ cung cấp tài nguyên cho các ứng dụng sử dụng, nó

là thuần scheduler và không có nhiệm vụ quản lý hay theo dõi tình trạngcủa ứng dụng, hoặc như việc restart các task bị fail Việc cung cấp tàinguyên là dựa trên yêu cầu cảu ứng dụng, các tài nguyên như RAM, core, Việc này cũng dựa trên các chính sách chia nhỏ tài nguyên thành các queue,các chính sách như CapacityScheduler và FairScheduler

ApplicationManager: Có nhiệm vụ tiếp nhận các job từ client, cấp phát tàinguyên để start ApplicationMaster cho từng ứng dụng, đồng thời cung cấpdịch vụ restart ApplicationMaster trong trường hợp lôi

NodeManager được cài trên 1 node có nhiệm vụ quản lý tài nguyên (RAM,core ) và job trên node đó NodeManager thường xuyên gửi heartbeat đến RMthông báo tình trạng, mục đích chính của NM là quản lý các container mà RMgiao cho nó, kill các container này nếu RM yêu cầu

Các thành phần và cách thức hoạt động của YARN

Trang 23

ApplicationMaster là một container được khởi tạo bới RM, tương ứng với môijob submit lên RM là một ApplicationMaster AppMaster có nhiệm vụ điều phốicác hoạt động của một job trong cụm, xin cấp phát tài nguyên từResourceManager và kết nối với NodeManger để quản lý các container.

Container là tiến trình của YARN, tập hợp các tài nguyên vật lý như core,RAM YARN container được quản lý bới đối tượng Container Launch Context,đối tượng này lưu trữ các thông tin như biến môi trường, dependencies, securitytokens và các chỉ thị để tạo tiến trình Container cấp quyền cho các ứng dụngchạy trên nó sử dụng một lượng tài nguyên nhất định

b Tiến trình thực hiện công việc trong YARN

Việc thực thi job sử dụng Hadoop YARN bao gồm 3 bước chính:

Client gửi yêu cầu tới YARN

YARN khởi tạo ApplicationMaster tương ứng với chương trình đó.ApplicationMaster quản lý thực thi của chương trình trên các containers

Chi tiết các bước như sau:

- Client gửi job đến RecourceManager bao gồm các bước, tài nguyên cầnthiết kế để khởi tạo ApplicationMaster

- RecourceManager cấp phát tài nguyên và khởi động ApplicationMaster

- AppMaster đăng ký với ResourceManager cho phép client giao tiếp trựctiếp đến AppMaster

- AppMaster sau đó request tài nguyên container từ ResourceManager

- Sau khi xin được tài nguyên từ RM, AppMaster cung cấp cho

NodeManager chỉ dẫn để khởi tạo các container trên NM đó Cáccontainer sau đó giao tiếp trực tiếp với AppMaster

- Việc thực thi job trên container báo cáo lại tiến độ công việc choAppMaster

- Trong khi chương trình thực thi, client giao tiếp trực tiếp với AppMaster

để nhận thông tin về tình trạng cung như cập nhật tiến độ công việc

- Khi chương trình hoàn tất, AppMaster ngắt kết nối với ResourceManger

và off các containers

Ngày đăng: 14/05/2024, 16:06

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w