Để 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, Hadoo
Trang 1TRƯỜ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 2Nhó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:
Trang 3Mụ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 4Lờ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 5PHẦN I: BIG DATA
1 KHÁI NIỆ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 ĐẶC TRƯ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 6a 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 73 ỨNG DỤNG CỦA BIG DATA
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:
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
đ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ố
cá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 8b 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ả
phá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 9 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
nhắ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
Trang 10 Tập trung vào các chủ đề được tìm kiếm cao và tư vấn cho các chủ doanhnghiệp thực hiện chúng trên chiến lược nội dung để xếp hạng trang webdoanh nghiệp trên cao hơn trên google (SEO).
Có thể tạo đối tượng tương tự bằng cách sử dụng cơ sở dữ liệu đối tượnghiện có để nhắm mục tiêu các khách hàng tương tự và kiếm được lợi nhuận
4 CÁC CÔNG NGHỆ ĐẶC BIỆT DÀNH CHO BIG DATA
a Hệ sinh thái Hadoop
Hadoop là một trong những công nghệ liên quan chặt chẽ nhất với big data Dự ánApache Hadoop phát triển phần mềm mã nguồn mở cho máy tính có khả năng mởrộng và phân tán
Với Hadoop, ta sẽ nghiên cứu kỹ ở Phần II
b Apache Spark
Apache Spark là một giải pháp phần mềm nguồn mở và miễn phí để xử lýphân tán Nó kết nối nhiều máy tính và cho phép chúng xử lý dữ liệu lớn songsong, giúp tăng tốc và đơn giản hóa các hoạt động của dữ liệu lớn → Sparkđang trở nên phổ biến nhờ sử dụng máy học và các công nghệ khác, giúp tăngtốc độ và hiệu quả của nó
Trang 11Spark đi kèm với một bộ công cụ có thể được sử dụng cho nhiều tínhnăng, bao gồm xử lý dữ liệu đồ thị và dữ liệu có cấu trúc, Spark Streaming vàphân tích Machine Learning, ngoài các API nâng cao trong Scala, Python,Java và R.
Tính năng chính:
hơn tới 100 lần ở bộ nhớ trong và nhanh hơn 10 lần trên bộ nhớngoài
• Đối phó với lượng dữ liệu được tạo ra theo thời gian thực
• Được tích hợp săn hơn 80 toán tử cấp cao
• Các truy vấn SQL, truyền dữ liệu và phân tích tinh vi, bao gồmhọc máy và thuật toán đồ thị, đều được hô trợ
Khi đối mặt với Big Data, các hệ quản trị cơ sở dữ liệu truyền thống cóthể gặp hạn chế về hiệu suất, khả năng mở rộng và khả năng đáp ứng đủ với
số lượng lớn người dùng cùng truy cập dữ liệu Trong khi đó, các hệ thốngNoSQL được thiết kế để vượt qua những hạn chế này và hô trợ việc xử lý dữliệu lớn
Các hệ thống NoSQL thường sử dụng các mô hình dữ liệu phi quan hệ(non-relational) và có thể xử lý dữ liệu không cấu trúc, dữ liệu văn bản, dữliệu đồ thị và nhiều loại dữ liệu khác Các hệ thống NoSQL cũng được xâydựng để có khả năng mở rộng và phân tán, cho phép dữ liệu được phân chia
và lưu trữ trên nhiều máy chủ để đáp ứng yêu cầu về tải và khối lượng dữ liệulớn
Do đó, NoSQL có vai trò quan trọng trong việc xử lý và lưu trữ Big Data.Các hệ thống NoSQL như MongoDB, Cassandra, Redis, và HBase đã trởthành các lựa chọn phổ biến cho việc xây dựng hệ thống phân tán và xử lý dữliệu lớn Chúng cung cấp khả năng lưu trữ dữ liệu phân tán và mở rộng, cũngnhư cung cấp hiệu suất tốt cho các truy vấn và phân tích dữ liệu trên BigData
Trang 12Dưới đây là một số đặc điểm chính của MongoDB:
Cấu trúc dữ liệu linh hoạt: MongoDB sử dụng mô hình dữ liệu JSON-like(BSON - Binary JSON) để lưu trữ dữ liệu Điều này cho phép dữ liệu đượcbiểu diễn dưới dạng tài liệu (document) có cấu trúc linh hoạt, cho phép thêm,xóa hoặc thay đổi các trường dữ liệu một cách dễ dàng
Khả năng mở rộng: MongoDB có khả năng mở rộng tốt và hô trợ cụm máytính phân tán Bằng cách chia dữ liệu thành các đơn vị nhỏ hơn gọi là shard vàphân phối chúng trên nhiều máy chủ, MongoDB cho phép xử lý dữ liệu lớn vàtải cao một cách hiệu quả
Hô trợ tìm kiếm phức tạp: MongoDB cung cấp các tính năng tìm kiếm mạnh
mẽ, bao gồm cả tìm kiếm theo văn bản đầy đủ và tìm kiếm theo các trường dữliệu phức tạp Nó hô trợ các truy vấn phức tạp và cung cấp các chỉ mục và chỉdẫn để tăng tốc độ truy vấn
Replication và fault tolerance: MongoDB hô trợ sao chép dữ liệu (replication)
tự động, cho phép tạo ra các bản sao của dữ liệu trên nhiều máy chủ Điều nàycung cấp khả năng chịu lôi và đảm bảo tính săn có của dữ liệu
Các tính năng cao cấp: MongoDB cung cấp nhiều tính năng cao cấp nhưtransaction, indexing, aggregation framework, text search, và hô trợ chogeospatial data Điều này giúp cho việc phân tích và truy vấn dữ liệu trở nênthuận tiện và hiệu quả
MongoDB được sử dụng trong nhiều lĩnh vực ứng dụng, bao gồm quản lý dữ liệu,phân tích dữ liệu, xử lý sự kiện thời gian thực, xử lý dữ liệu người dùng, và nhiềuhơn nữa Nó cung cấp một cách tiếp cận linh hoạt và mạnh mẽ cho việc lưu trữ vàtruy xuất dữ liệu trong các môi trường Big data
Trang 135 NHỮNG KHÓ KHĂN KHI LÀM VIỆC VỚI BIG DATA
Big Data mang đến nhiều cơ hội và lợi ích cho các tổ chức và ngành công nghiệp.Tuy nhiên, nó cũng đặt ra một số thách thức và khó khăn trong việc xử lý và quản lý
dữ liệu Dưới đây là một số khó khăn phổ biến của Big Data:
a Thách thức đến từ Big Data
Thách thức lớn nhất khi sử dụng Big Data đó là khối lượng quá lớn và tăng nhanh.Khối lượng dữ liệu được cho là tăng gấp 2 lần sau môi 2 năm khiến việc lưu trữ gặpkhó khăn Các doanh nghiệp, tổ chức vẫn luôn cố gắng để bắt kịp với sự tăng nhanhcủa dữ liệu và tìm cách lưu trữ đủ Big Data cần thiết Một thách thức nữa là về thờigian xử lý Big Data Các nhà khoa học dữ liệu cho biết họ thường dành 50% - 80%thời gian để quản lý và chuẩn bị dữ liệu trước khi có thể thực sự sử dụng nó Ngoài ra,lượng dữ liệu lớn nên đôi khi chất lượng dữ liệu không được đảm bảo, nhiều dữ liệulôi gây khó khăn trong việc xử lý và lọc dữ liệu
b Chỉ trích về cách sử dụng Big Data
Tuy lợi ích mà Big Data đem lại cho doanh nghiệp là rất lớn nhưng chi phí đầu tưcho nó cũng không hề nhỏ và không có nhiều người biết tận dụng nó Một số doanhnghiệp lớn đã đầu tư hàng tỷ đô cho Big Data để có được thông tin quan trọng nhưngchỉ có dưới 40% nhân viên thật sự hiểu và tận dụng được lượng dữ liệu này, dẫn đếnviệc lãng phí tài nguyên Ngoài ra, việc sử dụng Big Data cũng bị chỉ trích vì cótrường hợp xâm phạm đến quyền riêng tư của người dùng Tại một số quốc gia thìđây là một việc vi phạm pháp luật
c Chỉ trích về việc lấy thông tin từ Big Data
Một số nhà nghiên cứu như Danah Boyd đã bày tỏ niềm quan ngại khi các nhà quản
lý doanh nghiệp quá phụ thuộc vào dữ liệu từ Big Data để chọn mẫu thống kê Họcho rằng việc này có thể gây ra sự chủ quan, trong một số trường hợp có thể ảnhhưởng đến kết quả cuối cùng của chiến lược khi thực thi trong tương lai
d Hiểu biết và kỹ năng phân tích
Xử lý và phân tích Big Data đòi hỏi hiểu biết sâu về các phương pháp và công cụphân tích dữ liệu, cũng như kỹ năng trong việc trực quan hóa và hiểu thị trường từ dữliệu lớn
Trang 14PHẦN II: HADOOP
Như đã nói ở phần I.4, Hadoop là một công nghệ đặc biệt dành cho Big Data Hadoop
là gì? Hadoop hoạt động như thế nào? Ứng dụng của Hadoop? Chúng ta sẽ tìm hiểu ởphần này
Hadoop, một dự án phần mềm quản lý dữ liệu Apache với nhân trong khung phầnmềm MapReduce của Google, được thiết kế để hô trợ các ứng dụng sử dụng được sốlượng lớn dữ liệu cấu trúc và phi cấu trúc
Không giống như các hệ quản trị cơ sở dữ liệu truyền thống, Hadoop được thiết kế đểlàm việc với nhiều loại dữ liệu và dữ liệu nguồn Công nghệ HDFS của Hadoop chophép khối lượng lớn công việc được chia thành các khối dữ liệu nhỏ hơn được nhậnrộng và phân phối trên các phần cứng của một cluster để xử lý nhanh hơn Công nghệnày đã được sử dụng rộng rãi bởi một số trang web lớn nhất thế giới, chăng hạn nhưFacebook, eBay, Amazon, Baidu, và Yahoo Các nhà quan sát nhấn mạnh rằngYahoo là một trong những nhà đóng góp lớn nhất đối với Hadoop