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

Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng kho dữ liệu phục vụ hệ thống gợi ý kết quả các trận đấu bóng đá

109 2 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 đề Xây Dựng Kho Dữ Liệu Phục Vụ Hệ Thống Gợi Ý Kết Quả Các Trận Đấu Bóng Đá
Tác giả Nguyễn Trí Dũng, Nguyễn Khoa Quang Thắng
Người hướng dẫn ThS. Nguyễn Văn Thành
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Dữ Liệu
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2024
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 109
Dung lượng 8,18 MB

Cấu trúc

  • PHẦN 1 MỞ ĐẦU (20)
    • 1.1. Mục đích nghiên cứu (20)
    • 1.2. Đối tượng và phạm vi nghiên cứu (22)
    • 1.3. Ý nghĩa khoa học và thực tiễn (23)
    • 1.4. Phương pháp tiếp cận (23)
  • PHẦN 2 NỘI DUNG (25)
  • CHƯƠNG 1 CƠ SỞ LÝ THUYẾT (25)
    • 1.1. Học máy – Machine learning – Các thuật toán phân loại (Classification) (25)
    • 1.2. Các thuật toán chuẩn hoá – Regularization Algorithms (28)
    • 1.3. Hệ thống xếp hạng ELO (30)
  • CHƯƠNG 2 CÁC CÔNG NGHỆ SỬ DỤNG (31)
    • 2.1. Ngôn ngữ lập trình, công cụ hỗ trợ (31)
    • 2.2. Các hệ thống, framework, platform (32)
    • 2.3. Môi trường thực nghiệm (39)
  • CHƯƠNG 3 THU THẬP DỮ LIỆU (45)
    • 3.1. Nguồn thu thập (45)
    • 3.2. Thu thập dữ liệu (46)
    • 3.3. Sử dụng Compute Engine, Scrapyd và Scrapydweb, R để hỗ trợ thu thập dữ liệu: 33 CHƯƠNG 4 - KHO DỮ LIỆU CHO PHÂN TÍCH TRẬN ĐẤU (52)
    • 4.1. Thiết kế kho dữ liệu (58)
    • 4.2. Extract và Transform với Google Dataproc và Google Cloud Storage (62)
    • 4.3. Load dữ liệu vào Google BigQuery từ Google Cloud Storage staging (69)
    • 4.4. BI Application với Looker và phân tích các thông tin trận đấu (71)
    • 4.5. Xây dựng trang theo dõi các trận đấu với Angular JS (80)
  • CHƯƠNG 5 XÂY DỰNG MÔ HÌNH GỢI Ý KẾT QUẢ CÁC TRẬN ĐẤU (92)
    • 5.1. Phân tích tập dữ liệu (92)
    • 5.2. Sử dụng các thuật toán phân loại trong Spark Machine Learning (92)
    • 5.3. Hệ thống xếp hạng ELO (96)
  • CHƯƠNG 6 ĐÁNH GIÁ MÔ HÌNH BẰNG THỰC NGHIỆM (98)
    • 6.1. Độ chính xác - Accuracy (98)
    • 6.2. Kiểm chứng chéo – Cross Validation (98)
    • 6.3. Các trường hợp thực nghiệm (98)
    • 6.4. Kết quả thực nghiệm (101)
  • PHẦN 3 KẾT LUẬN (105)
    • 3.1. Kết quả (105)
    • 3.2. Hạn chế, khó khăn (105)
    • 3.3. Hướng phát triển (106)
  • PHẦN 4 TÀI LIỆU THAM KHẢO, PHỤ LỤC (107)

Nội dung

Nắm được những nhu cầu đó, nhóm đầu tiên muốn xây dựng một kho dữ liệu về bóng đá, từ đó giúp hỗ trợ cho hệ thống dành cho người dùng có thể theo dõi, tìm kiếm những thông tin về thống k

CƠ SỞ LÝ THUYẾT

Học máy – Machine learning – Các thuật toán phân loại (Classification)

Trong phần này, nhóm sẽ tóm tắt và mô tả các thuật toán học máy được sử dụng để xây dựng mô hình dự đoán các trận đấu tương lai Các thuật toán này thuộc lĩnh vực Học máy có giám sát (Supervised Machine Learning) và được hỗ trợ bởi Spark Machine Learning.

Học có giám sát là thuật toán dự đoán đầu ra cho dữ liệu mới dựa trên các cặp input và outcome đã biết Dữ liệu đầu vào được sử dụng để đào tạo máy học thông qua dữ liệu đã được gán nhãn hoặc có kết quả rõ ràng Học có giám sát được chia thành hai loại thuật toán.

Phân loại là quá trình chia các nhãn kết quả của dữ liệu đầu vào thành một số nhóm hữu hạn Trong trường hợp này, thuật toán sẽ phân chia dữ liệu thành ba nhóm kết quả chính: Thắng, Thua và Hòa.

- Hồi quy (Regression): đầu ra là một giá trị thực cụ thể, chẳng hạn như đơn vị tiền tệ hay khối lượng,…

Hồi quy logistic là một phương pháp phân tích dữ liệu toán học nhằm xác định mối quan hệ giữa hai biến dữ liệu Kỹ thuật này dựa trên nguyên lý của hàm sigmoid để thực hiện các phân tích.

Hàm sigmoid là một hàm phi tuyến, có chức năng chuyển đổi đầu vào thành xác suất cho một trong hai lớp nhị phân.

1 + 𝑒 −𝑧 Hàm mất mát của bài toán hồi quy logistic là hàm mất mát Cross-Entropy Hàm mất mát này được định nghĩa như sau: [2]

● 𝑛: Số lượng mẫu từ tập dữ liệu dùng để huấn luyện mô hình dự đoán

● 𝑦 𝑖 : Giá trị thực tế từ mô hình của đầu ra thứ i

● 𝑝 𝑖 : Với đầu vào thứ i, 𝑝 𝑖 là xác suất dự đoán đầu vào này thuộc lớp 1

Nhóm đã chọn thuật toán Hồi quy logistic để dự đoán kết quả trận đấu do tính dễ triển khai và khả năng cung cấp đầu ra dưới dạng biến phân loại.

1.1.2 Cây quyết định - Decision Tree:

Cây quyết định là một phương pháp phân lớp các đối tượng thông qua cấu trúc cây phân cấp với các quy tắc khác nhau Các kiểu dữ liệu trong cây quyết định có thể bao gồm biến số lượng, biến định danh, biến thứ tự và biến nhị phân Đối với biến rời rạc x có thể nhận n giá trị khác nhau (x1, x2, , xn), ta sẽ có các giá trị xác suất tương ứng (p1, p2, , pn) với công thức tính p là pi = p(x = xi) Entropy của phân phối này được tính theo một công thức nhất định.

Entropy sẽ đạt tối đa khi xác suất xảy ra của hai lớp ngang bằng với nhau Từ đó phân loại p thành hai loại, tinh khiết và vẩn đục: [3]

− P tinh khiết: pi = 0 hoặc pi = 1

− P vẩn đục: pi = 0.5, khi đó hàm Entropy đạt đỉnh cao nhất

Information gain được xác định dựa trên sự giảm của hàm Entropy khi phân chia theo thuộc tính Để xây dựng quyết định hiệu quả, cần ưu tiên sử dụng các thuộc tính có information gain cao nhất.

Mô hình cây quyết định được áp dụng trong nghiên cứu này vì nó có khả năng xử lý nhiều loại biến khác nhau và làm việc hiệu quả với dữ liệu lớn.

Naive Bayes là một phương pháp phân loại dựa trên định lý Bayes, nổi bật trong việc sử dụng xác suất thống kê để phân loại dữ liệu Mô hình này giả định rằng tất cả các biến dự đoán đều độc lập với nhau, điều này giúp đơn giản hóa quá trình tính toán Công thức của định lý Bayes là nền tảng cho kỹ thuật này.

− 𝑃(𝐵): Xác suất sau, là xác suất của mục tiêu A với đặc trưng B

− 𝑃(𝐵|𝐴): Xác suất likelihood, xác suất của đặc trưng B khi biết mục tiêu A.

− 𝑃(𝐴): Xác suất trước của mục tiêu A

− 𝑃(𝐵): Xác suất trước của đặc trưng B

Với cơng thức này, áp dụng với X là các vector điều kiện đặc trưng, thì Nạve Bayes sẽ trở thành:

Nhóm quyết định áp dụng mô hình Naive Bayes trong nghiên cứu này để dự đoán kết quả thắng thua của các trận bóng đá, vì mô hình này cung cấp đầu ra dưới dạng biến phân loại, phù hợp với yêu cầu của đề tài.

1.1.4 Rừng ngẫu nhiên - Random Forest:

Rừng ngẫu nhiên là một thuật toán học máy có giám sát, có khả năng giải quyết cả bài toán hồi quy và phân loại Thuật toán này hoạt động bằng cách tạo ra nhiều cây quyết định trên các tập con khác nhau của dữ liệu, sau đó tính toán giá trị trung bình để nâng cao độ chính xác dự đoán Cụ thể, Rừng ngẫu nhiên xây dựng nhiều cây quyết định và tổng hợp kết quả từ các cây này thông qua biểu quyết, giúp cải thiện độ tin cậy của dự đoán.

Để thuật toán rừng ngẫu nhiên hoạt động hiệu quả, các dự đoán từ mỗi cây cần có mối tương quan thấp Nếu các dự đoán này có sự tương quan cao, điều đó sẽ làm giảm tính hiệu quả của thuật toán.

Mô hình Rừng ngẫu nhiên được lựa chọn trong nghiên cứu này do tính ưu việt hơn so với mô hình Cây quyết định Nó cho phép sử dụng linh hoạt nhiều loại biến khác nhau và dễ dàng triển khai trong thực tế.

Các thuật toán chuẩn hoá – Regularization Algorithms

Các thuật toán chuẩn hoá là kỹ thuật quan trọng trong việc điều chỉnh mô hình học máy, giúp giảm thiểu hàm mất mát đã được tối ưu và ngăn chặn hiện tượng quá khớp hoặc không khớp.

Có ba thuật toán chính trong Regularization là:

Hồi quy Ridge, hay còn gọi là Chuẩn hoá Ridge, là một thuật toán giúp điều chỉnh sự quá khớp hoặc không khớp của mô hình bằng cách thêm các hình phạt vào tổng bình phương độ lớn của các hệ số.

Hàm mất mát của Ridge Regression thể hiện độ lớn của hình phạt qua tham số Lambda; mức độ phạt càng cao thì hệ số càng nhỏ Trong bài toán Hồi quy Logistic, việc điều chỉnh này cũng rất quan trọng.

10 chuẩn hoá sẽ làm hệ số, làm cho giảm độ nhạy của các thuộc tính đối với kết quả dự đoán [7]

Hình 2.2: Hàm mất mát của Hồi quy Lasso [7]

Hồi quy Lasso là một phương pháp điều chỉnh mô hình nhằm giảm thiểu tình trạng quá khớp hoặc không khớp, tương tự như Hồi quy Ridge Điểm khác biệt chính giữa hai phương pháp này là Hồi quy Lasso sử dụng giá trị tuyệt đối của tổng hệ số thay vì bình phương.

Hồi quy Lasso giúp loại bỏ các thuộc tính không cần thiết trong mô hình bằng cách điều chỉnh giá trị Lambda, từ đó triệt tiêu hoàn toàn ảnh hưởng của các thuộc tính này đến kết quả dự đoán.

Hồi quy ElasticNet là tổng hợp của hai phương pháp trên, có công thức như sau: [7]

Hệ thống xếp hạng ELO

RA: Điểm xếp hạng hiện tại của người chơi B

RB: Điểm xếp hạng hiện tại của người chơi A

EA: Tỉ lệ phần trăm thắng của người chơi A

EB: Tỉ lệ phần trăm thắng của người chơi B

Phần này tính toán sự khác biệt giữa xếp hạng của hai người chơi A và B, sau đó chia cho 400 Hệ số 400 được sử dụng trong hệ thống xếp hạng Elo nhằm điều chỉnh tác động của chênh lệch xếp hạng đến kết quả mong đợi.

Kết quả sau đó được nâng lên luỹ thừa 10, việc này sẽ làm tăng tác động của chênh lệch xếp hạng

Việc lấy 1 để thêm vào nhằm cho giá trị của biểu thức trên luôn nằm trong khoảng lớn hơn 1

Cuối cùng, để chuyển giá trị thành xác suất, biểu thức được đảo ngược bằng cách chia cho 1 Kết quả của quá trình này sẽ nằm trong khoảng từ 0 đến 1.

Ngoài ra, còn một vài các chỉ số của hệ thống xếp hạng ELO mà chúng ta cần phải để ý:

K là hằng số có giá trị thường là 30, thể hiện độ nặng hay độ quan trọng của mỗi lần cập nhật ELO Hằng số này quyết định tốc độ thay đổi chỉ số sau mỗi trận đấu, với K càng cao thì sự thay đổi sẽ diễn ra chậm hơn và ngược lại.

Độ nhạy là một hằng số với giá trị thường là 400, quyết định mức độ nhạy cảm của sự thay đổi trong chỉ số xếp hạng Khi độ nhạy càng lớn, chỉ số ELO sẽ thay đổi nhiều hơn.

Ngưỡng hoà là một chỉ số quan trọng giúp xác định thời điểm hai đội sẽ hoà trong một trận đấu Cách tính ngưỡng hoà dựa trên giá trị tuyệt đối của sự chênh lệch tỷ lệ thắng thua giữa hai người chơi Khi giá trị này nhỏ hơn ngưỡng hoà, trận đấu sẽ được coi là hoà.

CÁC CÔNG NGHỆ SỬ DỤNG

Ngôn ngữ lập trình, công cụ hỗ trợ

Python là một ngôn ngữ lập trình phổ biến, được ứng dụng rộng rãi trong phát triển web, phần mềm, khoa học dữ liệu và máy học Với hiệu suất cao, dễ học và khả năng chạy trên nhiều nền tảng, Python là lựa chọn ưa thích của nhiều nhà phát triển Phần mềm này được tải xuống miễn phí, tích hợp tốt với các hệ thống khác nhau và giúp tăng tốc độ phát triển dự án.

Python được sử dụng và sở hữu một số ưu điểm:

− Có nhiều thư viện tiêu chuẩn lớn cho các nhà phát triển

− Tương thích tốt với các hệ điều hành Windows, Linux, macOS

− Cộng đồng lớn, nhiều tài liệu, project mã nguồn mở

− Đặc biệt ứng dụng cho phát triển phần mềm, khoa học dữ liệu và máy học

Với 2 thư viện chính được sử dụng là Pandas và Pyspark xử lý dữ liệu và phân tích trong môi trường Python Với Pyspark được xây dựng trên Apache Spark và Pandas có thể thực thi ở môi trường cục bộ, áp dụng vào các ứng dụng trong đề tài

Visual Studio Code (VS Code) là một ứng dụng biên tập mã nguồn mạnh mẽ, hỗ trợ nhanh chóng trong việc xây dựng và thiết kế phần mềm VS Code hoạt động mượt mà trên các nền tảng Windows, macOS và Linux, đồng thời tương thích với cả những thiết bị máy tính có cấu hình tầm trung, giúp người dùng dễ dàng sử dụng.

Visual Studio Code (VSCode) là một trong những trình soạn thảo mã nguồn mạnh mẽ và phổ biến nhất cho lập trình viên, nhờ vào tính năng tùy chỉnh cho phép thay đổi theme, phím tắt và nhiều tùy chọn khác Với sự hỗ trợ cho nhiều ngôn ngữ lập trình phổ biến, cùng với các tính năng tích hợp và khả năng mở rộng, VSCode đã trở thành công cụ quen thuộc với mọi lập trình viên.

Nhóm sử dụng VSCode do sự phát triển mạnh mẽ của nó

Jupyter là nền tảng mã nguồn mở cho tính toán khoa học, nổi bật với khả năng tương tác trực tiếp với từng dòng code Nó hỗ trợ hơn 40 ngôn ngữ lập trình, trong đó chú trọng vào ba ngôn ngữ chính: Julia, Python và R.

Trình làm việc của Jupyter được thiết kế dưới dạng markdown, cho phép các nhà phát triển dễ dàng đánh dấu và lập chỉ mục, từ đó làm cho nội dung mã nguồn trở nên rõ ràng, tường minh và trực quan hơn.

Các hệ thống, framework, platform

Web Scraping là một ứng dụng quan trọng để thu thập dữ liệu từ các trang web, cho phép trích xuất thông tin một cách hiệu quả Phần mềm này có khả năng truy cập Internet thông qua Giao thức HTTP hoặc trình duyệt web Mặc dù người dùng có thể thực hiện quét web thủ công, thuật ngữ này thường chỉ các quy trình tự động sử dụng bot hoặc trình thu thập thông tin Đây là một hình thức sao chép dữ liệu cụ thể từ các nguồn trực tuyến.

14 thu thập và sao chép từ web, thường vào cơ sở dữ liệu cục bộ trung tâm hoặc bảng tính, để truy xuất hoặc phân tích sau này [11]

Scrapy là một framework mã nguồn mở được phát triển bằng Python, giúp thực hiện việc crawling và scraping dữ liệu từ các trang web Framework này cho phép người dùng tải xuống HTML của website và trích xuất dữ liệu một cách hiệu quả.

Scrapy sẽ thu thập dữ liệu về bóng đá, bao gồm thông tin về các trận đấu và cầu thủ, từ các nguồn chuyên phân tích thể thao Chi tiết về quy trình này sẽ được trình bày ở phần sau.

Selenium là một thư viện mã nguồn mở được phát triển từ năm 2004, chủ yếu dùng để tự động hóa các chức năng duyệt web và kiểm tra ứng dụng trên nhiều trình duyệt khác nhau Hiện nay, Selenium không chỉ được sử dụng cho kiểm thử mà còn trở thành công cụ phổ biến để cào web Thư viện này hỗ trợ nhiều ngôn ngữ lập trình như Python, Java và C#, cung cấp các API mạnh mẽ cho phép người dùng tương tác với trang web thông qua các thao tác như điều hướng, nhấp chuột, gõ và cuộn.

Google BigQuery là kho dữ liệu đám mây của Google Cloud Platform, cung cấp giải pháp quản lý và phân tích dữ liệu hiệu quả Hệ thống này tích hợp các tính năng như học máy, phân tích địa lý và thông tin doanh nghiệp Với kiến trúc không cần máy chủ, BigQuery giúp người dùng không phải quản lý cơ sở hạ tầng, hỗ trợ truy vấn từ nhiều nguồn khác nhau và cho phép cập nhật dữ liệu liên tục Khả năng phân tích phân tán và mở rộng của BigQuery cho phép xử lý hàng terabytes dữ liệu chỉ trong vài giây.

Kiến trúc chung của BigQuery bao gồm 2 thành phần, chúng hoạt động một cách độc lập với nhau:

- Lớp Storage: nhập dữ liệu, lưu trữ và tối ưu hóa dữ liệu

- Lớp Computing: cung cấp khả năng phân tích tính toán

Giao diện BigQuery bao gồm cả giao diện Google Cloud và công cụ dòng lệnh BigQuery Nó hỗ trợ nhiều API như REST API, RPC API và các thư viện cho các ngôn ngữ lập trình như Python, Java, và JavaScript, giúp các nhà phát triển dễ dàng tương tác và quản lý dữ liệu.

Một số ưu điểm của BigQuery:

− Lưu trữ dữ liệu theo định dạng cột, có thể có cấu trúc hoặc không có cấu trúc (columnar storage) cho phép truy vấn hiệu quả

− Xử lý hàng tỷ hàng trong một bảng, mở rộng khi ta mong muốn

− Tích hợp với nhiều công cụ và dịch vụ khác trong hệ sinh thái của Google Cloud Platform cũng như các ứng dụng điện toán đám mây khác

− Bảo mật và quản lý, ta có thể theo dõi, giám sát, tối ưu hóa hiệu suất

− Tiết kiệm chi phí, với BigQuery ta chỉ phải trả những gì ta sử dụng (Pay as you go) mà không cần quan tâm đến cơ sở hạ tầng

Google BigQuery, với những ưu điểm nổi bật của kho dữ liệu trên nền tảng điện toán đám mây và các chính sách hỗ trợ từ Google Cloud, là sự lựa chọn lý tưởng cho các dự án dữ liệu.

Apache Spark là một hệ thống mã nguồn mở chuyên dụng cho xử lý và phân tích dữ liệu quy mô lớn, nổi bật với khả năng kháng lỗi cao Ban đầu, Spark được phát triển bởi AMPLab tại Đại học California, Berkeley, và sau đó đã được chuyển giao cho quỹ phần mềm Apache, nơi nó được duy trì và phát triển cho đến nay.

Spark được thiết kế để cải thiện và tối ưu hóa những ưu điểm cũng như khắc phục những hạn chế của mô hình MapReduce trong môi trường triển khai theo cụm Quy trình hoạt động của Spark bao gồm các bước đọc dữ liệu, ánh xạ dữ liệu, giảm kết quả và lưu trữ dữ liệu.

Apache Spark cung cấp nhiều framework và abstraction cho các mục đích khác nhau, trong đó nhóm chúng tôi tập trung vào Spark Streaming, Spark SQL và Spark Mllib Đây là những thành phần quan trọng cho Tầng phân tích – Analysis Layer.

Spark MLlib là một thư viện học máy phân tán trên nền tảng Spark Core, cung cấp nhiều thuật toán thống kê và học máy phổ biến Thư viện này hỗ trợ triển khai quy trình học máy quy mô lớn với các chức năng như thống kê, tóm tắt, kiểm định giả thuyết, phân loại và hồi quy (như hồi quy logistic, hồi quy tuyến tính, cây quyết định), phân tích cụm, và tối ưu hóa gradient Spark MLlib là công cụ hữu ích cho việc xây dựng mô hình học máy hiệu quả.

Tóm lại, Apache Spark là một giải pháp toàn diện cho các tác vụ dữ liệu Về mặt khoa học, các module và framework của Spark cung cấp những công cụ tối ưu cho việc xử lý và phân tích dữ liệu Trong thực tiễn, các nhà phát triển có thể triển khai Spark trên các dịch vụ điện toán đám mây.

Cloud Dataproc là dịch vụ quản lý sử dụng Apache Spark và Apache Hadoop, giúp xử lý dữ liệu hàng loạt, thực hiện các truy vấn lớn, xử lý dữ liệu phát trực tiếp và hỗ trợ học máy, trí tuệ nhân tạo.

Apache Hadoop là nền tảng lý tưởng cho việc xử lý phân tán các tập dữ liệu lớn trên nhiều cụm máy chủ và worker, trong khi Apache Spark nổi bật với khả năng xử lý dữ liệu mạnh mẽ và nhanh chóng, phù hợp cho các ứng dụng quy mô lớn.

Google Cloud Dataproc có ưu điểm nổi bật là khả năng tích hợp với nhiều dịch vụ khác trên Google Cloud, bao gồm BigQuery, BigTable, Google Cloud Storage, Stackdriver Monitoring và Stackdriver Logging Điều này cho phép người dùng dễ dàng tương tác giữa các dịch vụ Thông qua Giao diện quản lý Google Cloud Platform, cả doanh nghiệp và tổ chức có thể triển khai, quản lý các cụm xử lý dữ liệu và thực hiện các tác vụ liên quan một cách thuận tiện.

Môi trường thực nghiệm

2.3.1 Khởi tạo và cấu hình các máy ảo trên Google Cloud:

Hình 2.3: Giao diện trang chủ Dataproc

Khởi chạy Google DataProc, tạo một cụm máy Cluster

Hình 2.4: Giao diện tạo cluster Dataproc

Chọn cơ sở hạ tầng Cluster on Compute Engine

To customize the Dataproc cluster interface, name the cluster "cluster-etl." Select the region as "asia-southeast1" and the zone as "asia-southeast1-a." Choose the cluster type as "Standard," which consists of one master node and multiple worker nodes.

In the Dataproc cluster interface, under the Components section, select the "Enable Component Gateway" option to allow web access to the cluster's components Additionally, you can choose to include the optional component Jupyter Notebook, which provides various available environments.

Hình 2.7: Giao diện tùy chỉnh cấu hình máy chủ cluster Dataproc

Trong phần Configure nodes (cấu hình các node), chọn kiểu máy với Series

E2, Machine Type (kiểu máy) - e2-standard-2 (2 vCPU, 1 core, 8 GB memory), Primary disk size (dung lượng ổ đĩa) – 100GB

Hình 2.8: Giao diện tùy chỉnh cấu hình máy worker cluster Dataproc

Tương tự cấu hình máy cho tổng cộng 2 node workers

Hình 2.9: Giao diện tùy chỉnh IP cluster Dataproc

Tắt chọn Internal IP only, để tắt IP cho các instances

Tổng quan về cụm Cluster DataProc:

Instances Kiểu máy Thông số chung

- 2 vCPU: 2 core xử lý ảo

- Hệ điều hành: 2.2.12- debian12 (linux)

- Cloud Storage bucket: football-data-etl

- 2 vCPU: 2 core xử lý ảo

Bảng 2.1: Bảng tổng quan về cụm DataProc Google Cloud Storage bucket:

Hình 2.10: Giao diện tùy chỉnh cấu hình Storage

Tạo một bucket football-data-etl chứa các file dữ liệu với Region asia- southeast1 (Singapore) cho đồng bộ với Region của Google Dataproc

Hình 2.11: Giao diện cấu trúc Storage

Một bucket được tạo ra khi tạo Cluster ở phần 3.2.1 trước chứa các dữ liệu về mapreduce-job-history, spark-job-history và yarn-logs

Hình 2.12: Giao diện cấu trúc các tập tin cluster

Các file Jupyter notebooks thực thi được lưu trữ trong football-data- etl/notebooks

2.3.2 Hoạt động cụm Cluster Dataproc

RAM Disk space Process time

117MB (bao gồm tệp code thực thi, file csv)

48h37p (để generate ra 5 file CSV)

Schema ~ 1 GB ~ 67KB (bao gồm code thực thi)

Ngày đăng: 19/12/2024, 11:30

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN