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

Ứng dụng data lakehouse trên nền tảng amazon web services vào phân tích dữ liệu netflix

45 11 0

Đ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 đề Ứng Dụng Data Lakehouse Trên Nền Tảng Amazon Web Services Vào Phân Tích Dữ Liệu Netflix
Người hướng dẫn TS. Phan Đình Vấn
Trường học Trường Đại Học Kinh Tế
Chuyên ngành Hệ Thống Thông Tin Quản Lý
Thể loại báo cáo thực tập nghề nghiệp
Thành phố Đà Nẵng
Định dạng
Số trang 45
Dung lượng 5,78 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI VÀ GIỚI THIỆU ĐƠN VỊ THỰC TẬP TMA SOLUTIONS (10)
    • 1.1. Giới thiệu tổng quát về doanh nghiệp thực tập (0)
      • 1.1.1. Lịch sử hình thành (11)
      • 1.1.2. Tầm nhìn và sứ mệnh (11)
    • 1.2. Tổng quan về vị trí việc làm Data Engineering (0)
      • 1.2.1. Giới thiệu Data Engineering (0)
      • 1.2.2. Các kỹ năng cần có (12)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT HỖ TRỢ XÂY DỰNG DATA (13)
    • 2.1. Data LakeHouse (13)
      • 2.1.1. Khái niệm (13)
      • 2.1.2. Tính năng của Data Lakehouse (0)
      • 2.1.3. Mục đích và ý nghĩa (0)
    • 2.2. Công cụ trực quan hóa dữ liệu Power BI (0)
      • 2.2.1. Khái niệm Power BI (0)
      • 2.2.2. Các tính năng nổi bật của Power BI (0)
    • 2.3. Tổng quan về Amazon Web Services (0)
      • 2.3.1. Amazon Web Services là gì? (14)
      • 2.3.2: Amazon Simple Storage Service (15)
      • 2.3.3. Dịch vụ Amazon Glue (16)
      • 2.3.4. Dịch vụ Amazon Lambda (16)
      • 2.3.5. Dịch vụ Amazon Athena (17)
      • 2.3.6. Dịch vụ Amazon IAM (17)
      • 2.3.7. Dịch vụ Amazon Cloudwatch (18)
    • 2.4. Giới thiệu về ngôn ngữ lập trình (0)
      • 2.5.1. Ngôn ngữ lập trình Python là gì (18)
      • 2.5.2. Python mang lại những lợi ích gì (18)
      • 2.5.3. Pyspark là gì (19)
      • 2.5.4. Tính năng của PySpark (19)
    • 2.5. Xử lý dữ liệu-ETL (0)
  • CHƯƠNG 3. TIẾN HÀNH XÂY DỰNG LUỒNG DỮ LIỆU VÀ PHÂN TÍCH 11 3.1. Triển khai dự án (10)
    • 3.1.1. Nguồn gốc dữ liệu (20)
    • 3.1.2. Cấu trúc và ý nghĩa dữ liệu (21)
    • 3.2. Xử lý dữ liệu (21)
      • 3.2.1. Định hướng xử lý dữ liệu (0)
      • 3.2.2. Quy trình xử lý dữ liệu (22)
    • 3.3. Tiến hành trực quan dữ liệu (0)
  • TÀI LIỆU THAM KHẢO (44)

Nội dung

TỔNG QUAN VỀ ĐỀ TÀI VÀ GIỚI THIỆU ĐƠN VỊ THỰC TẬP TMA SOLUTIONS

Tổng quan về vị trí việc làm Data Engineering

LAKEHOUSE TRÊN NỀN TẢNG AMAZON WEB SERVICES

Data lakehouse là một kiến trúc quản lý dữ liệu tiên tiến, kết hợp ưu điểm của data lake và data warehouse Kiến trúc này cho phép lưu trữ, truy vấn và phân tích dữ liệu có cấu trúc và không có cấu trúc một cách linh hoạt và hiệu quả Bên cạnh đó, data lakehouse hỗ trợ các tính năng quan trọng như giao dịch ACID, bảo mật và đảm bảo chất lượng dữ liệu Điều này giúp kích hoạt các ứng dụng kinh doanh thông minh (BI) và máy học (ML) trên toàn bộ dữ liệu.

2.1.2 Tính năng của Data Lakehouse

Delta Lake hỗ trợ giao dịch ACID, đảm bảo tính toàn vẹn và nhất quán của dữ liệu, cho phép thực hiện các hoạt động cập nhật dữ liệu một cách an toàn và tin cậy.

Time Travel trong Delta Lake cho phép lưu giữ lịch sử thay đổi của dữ liệu, giúp người dùng truy cập và khôi phục bất kỳ phiên bản nào từ quá khứ Tính năng này hỗ trợ việc xem lại và phục hồi dữ liệu từ các phiên bản trước, mang lại sự linh hoạt và kiểm soát cho người sử dụng.

Unified Batch/Streaming :cho phép người dùng làm việc với dữ liệu theo cả kiểu batch và kiểu streaming.

Schema Enforcement đảm bảo rằng dữ liệu được viết vào Delta Lake phải tuân theo cấu trúc (schema) đã xác định trước

2.1.3 Mục đích và ý nghĩa

Data lakehouse kết hợp ưu điểm của data lake và data warehouse, cho phép lưu trữ dữ liệu thô và đa dạng trong khi cải thiện khả năng quản lý và truy vấn dữ liệu Giải pháp này giúp các tổ chức giải quyết các vấn đề phổ biến khi sử dụng riêng lẻ data lake hoặc data warehouse, mang lại nhiều lợi ích cho việc xử lý dữ liệu lớn và phức tạp.

CƠ SỞ LÝ THUYẾT HỖ TRỢ XÂY DỰNG DATA

Công cụ trực quan hóa dữ liệu Power BI

1 Mục tiêu của đề tài Đề tài này ứng dụng Data LakeHouse trên nền tảng AWS để phân tích bộ dữ liệu Netflix Datasets – bộ dữ liệu chứa thông tin chi tiết về các bộ phim và chương trình truyền hình trên Netflix Từ bộ dữ liệu này, đề tài sẽ trực quan hóa dữ liệu bằng các biểu đồ và dashboard để thể hiện các thông tin và xu hướng về số lượng, loại, sự hấp dẫn và sự cá nhân hóa của nội dung Netflix.

1 Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu: Người dùng hoạt động xem trực tuyến trên Netflix.

Phạm vi nghiên cứu: Nghiên cứu về thực trạng của người dùng hoạt động xem trực tuyến trên Netflix và phân tích hoạt động người dùng Netflix.

2 Kết cấu của đề tài Đề tài được tổ chức gồm phần mở đầu, 3 chương nội dung và phần kết luận.

Chương 1: Tổng quan về đề tài và giới thiệu đơn vị thực tập TMA Solution Bình Định.

Chương 2: Cơ sở lý thuyết hỗ trợ xây dựng data lakehouse trên nền tảng amazon web services

Chương 3: Tiến hành xây dựng luồng dữ liệu và phân tích dữ liệu.

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI VÀ GIỚI THIỆU ĐƠN VỊ THỰC

1.1 Giới thiệu tổng quát về doanh nghiệp thực tập

1.1.1 Lịch sử hình thành Được thành lập năm 1997, TMA là tập đoàn công nghệ hàng đầu Việt Nam với 4000 kỹ sư và khách hàng là những tập đoàn công nghệ cao hàng đầu thế giới từ 30 quốc gia. TMA hiện có 7 chi nhánh tại Việt Nam (6 tại Tp.HCM và 1 ở Tp Quy Nhơn) cùng 6 chi nhánh ở nước ngoài (Mỹ, Úc, Canada, Đức, Nhật, Singapore).

1.1.2 Tầm nhìn và sứ mệnh

Công viên Sáng tạo TMA, trung tâm phần mềm đầu tiên tại Thung lũng Sáng tạo Quy Nhơn, hướng tới việc trở thành trung tâm phát triển phần mềm và công nghệ cao hàng đầu miền Trung Với sứ mệnh quan trọng, TMA góp phần biến Thung lũng Sáng tạo Quy Nhơn thành điểm đến công nghệ 4.0 tại Việt Nam Công viên bao gồm nhiều cơ sở như Trung tâm Phát triển Phần Mềm, Xưởng Phần mềm, Trung tâm R&D, Trung tâm Khoa học Dữ liệu và Học viện Công Nghệ, với tổng diện tích sử dụng vượt quá 15,000m2.

1.2 Tổng quan về vị trí việc làm Data Engineering

Kỹ sư dữ liệu (Data Engineer) là chuyên gia chịu trách nhiệm xây dựng, kiểm tra và bảo trì hệ thống lưu trữ, tổng hợp và xuất dữ liệu từ các ứng dụng hoặc hệ thống phần mềm do Kỹ sư phần mềm phát triển Họ cũng cải tiến quy trình thiết lập dữ liệu nhằm mô hình hóa, khai thác và sản xuất dữ liệu hiệu quả Công việc chính của một kỹ sư dữ liệu bao gồm việc tối ưu hóa quy trình xử

Kỹ sư dữ liệu (DE) đảm nhiệm việc xây dựng cấu trúc dữ liệu nâng cao thông qua lập trình đồng thời và sử dụng các công cụ hiện đại như Hadoop, Spark, Kafka, và Hive Họ có nhiệm vụ thu thập và tổng hợp dữ liệu từ nhiều nguồn khác nhau thành một nguồn duy nhất Hệ thống mà DE phát triển hỗ trợ các bộ phận nghiệp vụ, Data Analyst, Data Scientist, và Business Intelligence trong việc phân tích dữ liệu, từ đó giúp cải thiện quy trình ra quyết định.

Công việc chính của một Kỹ sư Dữ liệu (DE) bao gồm việc làm việc với cấu trúc dữ liệu nâng cao và lập trình đồng thời Họ cần có kiến thức sâu về các công cụ hiện đại như Hadoop, Spark, Kafka, và Hive, cũng như khả năng tạo ra các quy trình ETL và data pipelines hiệu quả.

SQL và Python là hai ngôn ngữ phổ biến nhất trong lĩnh vực Khoa học Dữ liệu (DE) Các chuyên gia thường sử dụng các gói như ggplot2 trong R để trực quan hóa dữ liệu và thư viện Pandas trong Python để thao tác dữ liệu Một số công ty cũng lựa chọn Scala làm ngôn ngữ chính cho việc xử lý dữ liệu Ngoài ra, các phần mềm như SAS và SPSS cũng hỗ trợ hiệu quả trong công việc Các công cụ khác như Power BI, Tableau, RapidMiner, Matlab, Excel và Gephi cũng rất hữu ích cho các chuyên gia dữ liệu.

1.2.2 Các kỹ năng cần có

Kỹ năng lập trình: Thông thạo các ngôn ngữ lập trình như SQL, NoSQL, Python, Java,

R và Scala để xử lý, phân tích và truy vấn dữ liệu

Công cụ dữ liệu lớn như Hadoop, MongoDB và Kafka đang trở nên phổ biến trong việc xử lý và quản lý dữ liệu Đồng thời, điện toán đám mây cũng đang được các công ty ưa chuộng, với các dịch vụ lưu trữ và tính toán từ các nhà cung cấp như Amazon Web Services và Google Cloud.

Bảo mật dữ liệu: Quản lý và lưu trữ dữ liệu một cách an toàn để bảo vệ chúng khỏi bị mất hoặc đánh cắp.

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT HỖ TRỢ XÂY DỰNG DATA

LAKEHOUSE TRÊN NỀN TẢNG AMAZON WEB SERVICES

Data lakehouse là một kiến trúc quản lý dữ liệu tiên tiến, kết hợp những lợi ích của data lake và data warehouse Nó cho phép lưu trữ, truy vấn và phân tích dữ liệu có cấu trúc và không có cấu trúc một cách linh hoạt và hiệu quả Bên cạnh đó, data lakehouse hỗ trợ các tính năng quan trọng như giao dịch ACID, bảo mật và đảm bảo chất lượng dữ liệu Kiến trúc này còn kích hoạt các ứng dụng kinh doanh thông minh (BI) và máy học (ML) trên toàn bộ dữ liệu.

2.1.2 Tính năng của Data Lakehouse

Delta Lake hỗ trợ giao dịch ACID, đảm bảo tính toàn vẹn và nhất quán của dữ liệu, cho phép thực hiện các hoạt động cập nhật dữ liệu một cách an toàn và tin cậy.

Time Travel trong Delta Lake cho phép lưu trữ lịch sử thay đổi của dữ liệu, giúp bạn truy cập và khôi phục bất kỳ phiên bản nào từ quá khứ Tính năng này hỗ trợ việc xem lại và phục hồi dữ liệu từ các phiên bản trước, mang lại sự linh hoạt trong quản lý dữ liệu.

Unified Batch/Streaming :cho phép người dùng làm việc với dữ liệu theo cả kiểu batch và kiểu streaming.

Schema Enforcement đảm bảo rằng dữ liệu được viết vào Delta Lake phải tuân theo cấu trúc (schema) đã xác định trước

2.1.3 Mục đích và ý nghĩa

Data lakehouse kết hợp ưu điểm của data lake và data warehouse, cho phép lưu trữ dữ liệu thô và đa dạng đồng thời cải thiện quản lý và truy vấn dữ liệu Giải pháp này giúp khắc phục những vấn đề thường gặp khi sử dụng riêng biệt hai hệ thống này, mang lại nhiều lợi ích cho tổ chức trong việc xử lý dữ liệu lớn và phức tạp.

Tổng quan về Amazon Web Services

• Tăng khả năng tiếp cận và sử dụng dữ liệu cho các nhóm người dùng khác nhau, từ nhà khoa học dữ liệu đến nhà phân tích kinh doanh.

• Tăng khả năng phát triển và triển khai các giải pháp thông minh và sáng tạo, sử dụng các kỹ thuật máy học và trí tuệ nhân tạo.

2.2 Công cụ trực quan hóa dữ liệu Power BI

Power BI là dịch vụ phân tích kinh doanh của Microsoft, thiết kế để cung cấp trực quan hóa dữ liệu và thông tin thông minh cho doanh nghiệp Với giao diện thân thiện, người dùng cuối có thể dễ dàng tạo báo cáo và trang tổng quan riêng của mình.

2.2.2 Các tính năng nổi bật của Power BI

Power BI cho phép người dùng kết nối với nhiều nguồn dữ liệu đa dạng, bao gồm tệp dữ liệu phẳng, file Excel, và các cơ sở dữ liệu như SQL Server, MySQL, và Access Ngoài ra, nó còn hỗ trợ kết nối với dữ liệu trên đám mây, cũng như các nguồn dữ liệu đặc biệt như SharePoint, dữ liệu Web, PDF, và kết nối trực tiếp đến các hệ thống ERP và SAP.

Xây dựng mô hình dữ liệu giúp tối ưu hóa kích thước dữ liệu so với việc kết hợp tất cả vào một file duy nhất Tương tự như các lược đồ dữ liệu trong cơ sở dữ liệu, Power BI cho phép kết nối các bảng để tạo ra một mô hình liên kết, từ đó nâng cao hiệu quả truy xuất dữ liệu.

Trực quan hóa dữ liệu thông qua biểu đồ và dashboard tương tác giúp phân tích dữ liệu một cách linh hoạt, từ tổng quan đến chi tiết Điều này cho phép người dùng phát hiện và rút ra kết luận quan trọng, hỗ trợ ra quyết định kinh doanh hiệu quả (TMA, 2023).

2.3 Tổng quan về Amazon Web Services

2.3.1 Amazon Web Services là gì?

Amazon Web Services (AWS) là nền tảng điện toán đám mây hàng đầu, được nhiều doanh nghiệp và tổ chức trên toàn cầu tin dùng Với hơn 200 dịch vụ đa dạng, AWS cung cấp giải pháp cho điện toán, lưu trữ, cơ sở dữ liệu, mạng, phân tích, phát triển, bảo mật và trí tuệ nhân tạo, đáp ứng nhu cầu của người dùng trong nhiều lĩnh vực khác nhau.

AWS sở hữu một cơ sở hạ tầng toàn cầu rộng lớn, phân bố trên nhiều vùng và khu vực khác nhau Ngoài ra, AWS cung cấp nhiều dịch vụ đa dạng, bao gồm Amazon S3 và Amazon Glue, phục vụ nhu cầu lưu trữ và quản lý dữ liệu hiệu quả.

Amazon S3 là dịch vụ lưu trữ đám mây của Amazon Web Services, thuộc nền tảng AWS, cho phép lưu trữ và truy cập dữ liệu đối tượng như tệp, hình ảnh, video, tài liệu và dữ liệu phi cấu trúc khác.

Amazon S3 là dịch vụ lưu trữ đám mây hàng đầu, lý tưởng cho việc triển khai kho dữ liệu Người dùng có khả năng lưu trữ dữ liệu phi cấu trúc, bán cấu trúc và cấu trúc từ nhiều nguồn khác nhau, đồng thời dễ dàng truy cập dữ liệu mọi lúc, mọi nơi.

Xây dựng kho dữ liệu trên Amazon S3 cho phép bạn tận dụng các dịch vụ gốc của AWS cho nhiều trường hợp sử dụng khác nhau, như trí tuệ nhân tạo, máy học, phân tích dữ liệu lớn, và xử lý khối lượng công việc điện toán hiệu năng cao Điều này giúp cung cấp thông tin chi tiết quý giá từ lượng lớn dữ liệu phi cấu trúc Các cơ sở trong AWS S3 bao gồm:

- Bucket: Còn được gọi là vùng chứa là một trong bốn khái niệm cơ bản của Amazon S3 và được định nghĩa bởi các yếu tố:

+ Dữ liệu được lưu trữ trong Amazon S3 tương tự như một object (đối tượng). + Mỗi bucket (vùng chứa) tương ứng với một đơn vị lưu trữ logical trên S3.

+ Một bucket chỉ chứa một object Trong object sẽ chứa nhiều dữ liệu và metadata mô tả về dữ liệu đó.

Người dùng có thể chọn khu vực lưu trữ cho Amazon S3, và mỗi bucket sẽ được tạo ra tại khu vực đó với một tên duy nhất trên toàn cầu Điều này có nghĩa là nếu tên bucket đã được sử dụng, sẽ không có tài khoản AWS nào ở bất kỳ khu vực nào có thể trùng tên Tóm lại, bucket là một thùng chứa các đối tượng được lưu trữ trên dịch vụ Amazon S3.

Key là một chuỗi định danh ID duy nhất cho mỗi object trong một bucket Mỗi object chỉ có một key và một địa chỉ truy cập độc nhất, được tạo thành từ sự kết hợp của thông tin như endpoint của dịch vụ web, key, tên bucket và phiên bản.

Đối tượng, hay còn gọi là object, là một khái niệm cơ bản trong việc định nghĩa thực thể dữ liệu được lưu trữ trong Amazon S3 Mỗi đối tượng bao gồm dữ liệu (object data) và siêu dữ liệu (metadata) Thêm vào đó, mỗi đối tượng trong bucket đều có một ID độc nhất đi kèm.

Người dùng có thể chọn khu vực địa lý cho bucket của Amazon S3, và chỉ khi xóa hoặc chuyển đổi khu vực của object thì object đó mới biến mất Việc lựa chọn khu vực mang lại nhiều lợi ích như giảm độ trễ và tiết kiệm chi phí Để tối ưu hóa hiệu quả lưu trữ trên Amazon S3, người dùng cần cân nhắc bốn yếu tố quan trọng: giá cả, vị trí khách hàng, độ trễ và tính khả dụng của dịch vụ.

Amazon S3 cung cấp nhiều tùy chọn lớp lưu trữ khác nhau nhằm tối ưu hóa hiệu suất và chi phí cho dữ liệu Mỗi lớp lưu trữ có đặc điểm và mức giá riêng, phù hợp với các yêu cầu cụ thể của ứng dụng Dưới đây là một số lớp lưu trữ phổ biến trong Amazon S3.

AWS Glue là dịch vụ ETL và xử lý dữ liệu trên đám mây của Amazon Web Services, cho phép người dùng trích xuất, biến đổi và nạp dữ liệu từ nhiều nguồn khác nhau, nhằm chuẩn bị dữ liệu cho phân tích và ứng dụng.

Các thành phần chính trong AWS Glue:

Xử lý dữ liệu-ETL

1 Mục tiêu của đề tài Đề tài này ứng dụng Data LakeHouse trên nền tảng AWS để phân tích bộ dữ liệu Netflix Datasets – bộ dữ liệu chứa thông tin chi tiết về các bộ phim và chương trình truyền hình trên Netflix Từ bộ dữ liệu này, đề tài sẽ trực quan hóa dữ liệu bằng các biểu đồ và dashboard để thể hiện các thông tin và xu hướng về số lượng, loại, sự hấp dẫn và sự cá nhân hóa của nội dung Netflix.

1 Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu: Người dùng hoạt động xem trực tuyến trên Netflix.

Phạm vi nghiên cứu: Nghiên cứu về thực trạng của người dùng hoạt động xem trực tuyến trên Netflix và phân tích hoạt động người dùng Netflix.

2 Kết cấu của đề tài Đề tài được tổ chức gồm phần mở đầu, 3 chương nội dung và phần kết luận.

Chương 1: Tổng quan về đề tài và giới thiệu đơn vị thực tập TMA Solution Bình Định.

Chương 2: Cơ sở lý thuyết hỗ trợ xây dựng data lakehouse trên nền tảng amazon web services

TIẾN HÀNH XÂY DỰNG LUỒNG DỮ LIỆU VÀ PHÂN TÍCH 11 3.1 Triển khai dự án

Nguồn gốc dữ liệu

Bộ dữ liệu Netflix trong báo cáo này được thu thập từ Kaggle và bao gồm danh sách đầy đủ các bộ phim và chương trình truyền hình có trên Netflix Dữ liệu cung cấp thông tin chi tiết về dàn diễn viên, đạo diễn, xếp hạng, năm phát hành và thời lượng của từng nội dung.

Bộ dữ liệu sưu tầm bao gồm: 12 cột và 8808 dòng Đây là hình ảnh dữ liệu được tải về dưới dạng CSV: (Shivamb, 2021)

Hình 3.1 Dữ liệu Kaggle được tải về dưới dạng CSV

Cấu trúc và ý nghĩa dữ liệu

Bảng dưới đây là các cột dữ liệu trong bộ dữ liệu Netflix chưa qua xử lý.

Tên cột Kiểu dữ liệu Ý nghĩa

1 show_id String Mã số phim

2 type String Kiểu chương trình dài tập hoặc bộ phim

6 country String Đất nước phát hành phim

String Ngày bộ phim được thêm vào Netflix

String Ngày bộ phim được ra mắt

9 rating String Xếp hạng độ tuổi được xem phim

10 duration String Thời lượng của phim

11 listed_in String Thể loại phim

String Miêu tả về bộ phim

Bảng 3.1 Cấu trúc và ý nghĩa của bộ dữ liệu Netflix

Xử lý dữ liệu

3.2.1 Định hướng xử lý dữ liệu

Trong phân tích dữ liệu, tiền xử lý dữ liệu là giai đoạn quan trọng, mặc dù tốn nhiều thời gian, để tạo ra bộ dữ liệu phù hợp cho nghiên cứu Quá trình này bao gồm ba công việc chính: tích hợp dữ liệu từ nhiều nguồn, chuyển đổi dữ liệu và làm sạch dữ liệu.

Hiện nay, có nhiều công cụ hỗ trợ xử lý dữ liệu trước khi sử dụng, và trong bài báo cáo này, tôi sẽ sử dụng dịch vụ AWS Glue của Amazon Web Services Để trực quan hóa dữ liệu, cần giải quyết một số vấn đề quan trọng.

Xóa cột: Thực hiện xóa bỏ 2 cột “director” và “cast” vì không cần thiết trong việc trực quan hóa dữ liệu

Để nâng cao khả năng phân tích dữ liệu và giúp người đọc dễ dàng nhận diện các cột, việc thay đổi tên cột dữ liệu là rất cần thiết Cần đặt tên các cột sao cho rõ ràng và dễ hiểu nhất.

Để tối ưu hóa cơ sở dữ liệu, cột dữ liệu date_added hiện đang sử dụng kiểu dữ liệu string cần được chuyển đổi sang kiểu dữ liệu date Việc này giúp đảm bảo tính nhất quán và chính xác trong việc lưu trữ và truy xuất thông tin ngày tháng.

Xử lý giá trị null: Thực hiện thay thế những giá trị null bằng cách điền vào giá trị null là unknow.

3.2.2 Quy trình xử lý dữ liệu Để thực hiện xử lý dữ liệu nhóm sử dụng nền tảng là cloud-Amazon Web Services của Amazon.

Quy trình làm việc trên Amazon Web Services

Hình 3.2 Quy trình làm việc trên AWS Đầu tiện tạo 1 bucket trong Amazon Web Services S3 có tên là finalnetflix

Trong bucket finalnetflix sẽ tạo 4 folder là datasources, datatransformdone, delta, jar.

Hình 3.4 Tạo các folder trong finalnetflix

Folder datasources sẽ chứa file csv, đây là dữ liệu cần được transform

Hình 3.5 Tài file csv cần được transform vào folder data sources

Folder jar sẽ chứa file delta-core.jar, đây là file sẽ hỗ trợ việc đọc file csv thành file delta

Hình 3.6 Tải file delta-core.jar vào folder jar

Sử dụng dịch vụ AWS Glue để thực hiện công việc đọc dữ liệu từ file dạng csv thành delta.

Hình 3.7 Sử dụng AWS Glue để đọc file csv sang delta Đọc dữ liệu từ cần được transform trong folder datasources ở dịch vụ AWS S3

Hình 3.8 Đọc dữ liệu trong folder datasources trong AWS S3

Ghi dữ liệu từ dạng file csv sang dạng delta vào folder delta trong AWS S3

Hình 3.9 Ghi dữ liệu trong folder delta trong AWS S3

Thực hiện tạo 1 Glue Crawler và thực hiện kết nối với folder delta trong AWS S3 nhằm mục đích đọc dữ liệu trong folder delta.

Hình 3.10 Tạo Crawler trong AWS Glue Crawler

Sử dụng Ạthena để xem dữ liệu được đọc trong folder delta

Hình 3.11 Đọc dữ liệu ở folder delta bằng AWS Athena

Tạo 1 function trong AWS Lambda để tự động chạy trigger đọc dữ liệu từ file csv thành file delta

Hình 3.12 Tạo function trong AWS Lambda

Thực hiện tạo 1 Trigger và cấu hình cho Trigger

Hình 3.13 Tạo trigger trong AWS Lambda

Hình 3.14 Cấu hình cho trigger trong AWS Lambda

Tạo code để tự động đọc dữ liệu trong bucket có tên là netflixfinal2

Hình 3.15 Thêm đoạn code để tự động chạy trigger trong AWS Lambda

Thực hiện đẩy 1 file CSV để chạy thử trigger vừa mới tạo

Hình 3.16 Đưa file CSV vào folder datasources

Vào Athena để xem dữ liệu vừa được tự động đọc

Hình 3.17 Dữ liệu được đọc trong folder datasources

Như đã đề cập, sử dụng services Amazon Web Services Glue của Amazon Web Services để xử lý bộ dữ liệu.

Để thực hiện quá trình ETL và làm sạch dữ liệu, bước đầu tiên là kết nối đến bộ dữ liệu cần xử lý Bộ dữ liệu này được lưu trữ dưới dạng file CSV trên dịch vụ S3 của Amazon Web Services Chúng ta sử dụng câu lệnh thích hợp để thiết lập kết nối với dữ liệu.

Hình 3.19 Đọc dữ liệu trong folder delta ở AWS S3

Tiếp đến thực hiện xóa bỏ 2 cột “director” và “cast” vì không cần thiết trong việc trực quan hóa dữ liệu

Hình 3.20 Xóa bỏ 2 cột director và cast

Lọc các giá trị duy nhất trong cột rating để xem cột rating có những giá trị nào

Hình 3.21 Xem các giá trị duy trong cột rating

Các giá trị trong cột đánh giá bao gồm: PG13, TV-MA, PG, TV-14, TV-PG, TV-Y, TV-Y7, R, TV-G, G, NC-17, NR Những giá trị này có thể gây khó khăn trong việc hiểu và trực quan hóa dữ liệu, vì vậy cần chuyển đổi tên của các giá trị này để tạo ra ý nghĩa rõ ràng hơn.

Hình 3.22 Chuyển đổi những giá trị trong cột rating

Lọc các giá trị null trong cột date_added và thay thế chúng bằng các khoảng trắng

Hình 3.23 Xử lý giá trị null trong cột date_added

Loại bỏ các khoảng trắng ở đầu và cuối chuỗi trong cột date_added

Hình 3.24 Xử lý khoảng trắng trong cột date_added

Chuyển cột date về định dạng từ tháng/ngày/năm thành năm/tháng/ngày để thuận tiện cho việc trực quan hóa

Hình 3.25 Thực hiện chuyển định dạng cột date_added

Chuyển kiểu dữ liệu của cột date_added từ string thành date

Hình 3.26 Chuyển đổi kiểu dữ liệu trong cột date_added

Chuyển kiểu dữ liệu của cột release_year từ string thành interger

Hình 3.27 Chuyển đổi kiểu dữ liệu trong cột date_added

Thay thế những giá trị null ở các cột title,country,duration,listed_in,description bằng giá trị unknow để thuận tiện cho việc trực quan dữ liệu

Hình 3.28 Thay thế giá trị null ở các cột

Khi lọc các giá trị trong cột rating ta phát hiễn những giá trị như “74 min”, “84 min”,

“66 min” Đây là những giá trị không đúng trong cột rating mà nó phải nằm ở cột duration, nên thực hiện chuyển đổi những giá trị này sang cột duration.

Hình 3.29 Chuyển đổi các giá trị sang cột duration

Các giá trị “74 min”, “84 min”, “66 min” sau khi chuyển sang cột duration ta sẽ thay thế giá trị Not Rated vào cột rating

Hình 3.30 Điền những giá trị trong cột rating

Kiểm tra lại quá trình thay thế giá trị Not Rated vào cột rating

Hình 3.31 Kiểm tra cột rating

Trong quá trình lọc giá trị trong cột "type", phát hiện một giá trị không chính xác là "William Wyler" Giá trị hợp lệ trong cột này chỉ nên là "Movie" hoặc "TV Show" Do đó, cần phải xóa hàng chứa giá trị "William Wyler" để đảm bảo tính chính xác của dữ liệu.

Hình 3.32 Xóa hàng có giá trị là William Wyler

Xử lý giá trị null trong cột rating bằng cách điền giá trị là Not Rated phục vụ cho mục địch trực quan dữ liệu.

Hình 3.33 Xử lý giá trị null trong cột rating

Thực hiện ghi dữ liệu đã được làm sạch vào folder datatransformdone trong AWS S3

Hình 3.34 Ghi dữ liệu được làm sạch vào folder datatransformdone

Để xây dựng dashboard, chúng ta sẽ kết nối Amazon Athena với Power BI Bước đầu tiên là tạo Access Keys trong AWS IAM để cho phép kết nối giữa AWS Athena và Power BI.

Hình 3.35 Tạo Acceskey trong AWS IAM

Tiếp đến sử dụng Simba Athena để kết nối AWS Athena và Power BI.

Hình 3.37 Thực hiện điền Acces key vào Simba Athena ODBC

Vào Power Bi để thực hiện kết nối với Amazon Athena

Hình 3.38 Thực hiện kết nối PowerBI với Athena

Sau khi kết nối thành công Amazon Athena với Power BI, bạn có thể nhập dữ liệu vào Power BI để tiến hành trực quan hóa thông tin.

Hình 3.39 Đổ dữ liệu được ETL-làm sạch dữ liệu vào PowerBI

3.3 Tiến hành trực quan dữ liệu

Hình 3.40 Dashboard của dữ liệu

Netflix Dashboard cung cấp thông tin và chỉ số quan trọng về nội dung phim ảnh trên nền tảng Netflix, cho phép người dùng biết tổng số bộ phim và chương trình, các thể loại khác nhau, cũng như số lượng quốc gia mà Netflix phát hành nội dung.

Biểu đồ cho thấy rằng Netflix có nhiều bộ phim hơn là chương trình truyền hình, với tỉ lệ khoảng 70% là bộ phim và 30% là chương trình show.

Ngoài ra, ta cũng có thể biết được Top 5 thể loại phim được sản xuất nhiều nhất trên Netflix, đó là: Dramas, Internationl Movies,

Mỹ dẫn đầu danh sách các quốc gia có nhiều nội dung phát hành trên Netflix với 2,8K bộ phim và chương trình, tiếp theo là Ấn Độ với 1,0K bộ phim và chương trình.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết quả đạt được:

Trong kỳ thực tập ở công ty TMA Solutions, chúng em đã được trải nghiệm nhiều điều thú vị và bổ ích cho bản thân

Chúng em đã mở rộng và nâng cao hiểu biết về ngôn ngữ PySpark, một ngôn ngữ lập trình hiệu quả và được ưa chuộng trong ngành Kỹ sư Dữ liệu.

- Nâng cao các kỹ năng mềm, như giao tiếp, làm việc nhóm, thuyết trình, qua các buổi đào tạo chuyên nghiệp của TMA

- Nắm rõ quy trình làm việc của một DE, từ việc phân tích yêu cầu, thiết kế giải pháp, xây dựng các pipeline

Chúng em đã tích lũy kiến thức vững chắc về lĩnh vực Kỹ sư Dữ liệu và biết cách áp dụng những kiến thức từ trường học cũng như các khóa đào tạo vào các dự án thực tiễn.

- Tìm hiểu và áp dụng quy trình ETL, một quy trình quan trọng trong việc xử lý dữ liệu của một doanh nghiệp.

Học tập tính tỉ mỉ và cẩn trọng trong công việc là rất quan trọng để đảm bảo chất lượng và hiệu suất của hệ thống Tôi đã có cơ hội làm việc trong một công ty công nghệ chuyên nghiệp, nơi cung cấp môi trường lý tưởng cho sự phát triển cá nhân và nghề nghiệp của tôi.

Trong quá trình thực tập tại công ty, chúng em đã tiếp thu nhiều kiến thức bổ ích về ngành Data Engineer, một lĩnh vực đầy tiềm năng Qua đó, chúng em nhận ra những điểm yếu của bản thân và nỗ lực khắc phục để hoàn thiện hơn Nhờ sự hướng dẫn từ các anh chị, chúng em đã xác định được lộ trình học tập và mục tiêu nghề nghiệp rõ ràng hơn Bên cạnh đó, chúng em cũng hiểu rõ hơn về công việc của một Data Engineer, các kỹ năng cần thiết, nhiệm vụ thường xuyên và những thách thức có thể gặp phải.

Tiến hành trực quan dữ liệu

1 Shivamb, (2021) Được truy lục từ https://www.kaggle.com/datasets/shivamb/netflix- shows

2 Vinh Phạm, (2020) Được truy lục từ https://bizflycloud.vn/tin-tuc/etl-la-gi-cach- thuc-hoat-dong-cua-etl-va-tai-sao-can-su-dung-elt-20200731175234501.htm

3 Vinh Phạm, (2020) Được truy lục từ https://bizflycloud.vn/tin-tuc/tim-hieu-ve-dien- toan-dam-may-cloud-computing-193.htm

4 Minh Quang, (2022) Được truy lục từ https://glints.com/vn/blog/ngon-ngu-lap-trinh- python-la-gi/

5 Trung Đức, (2022) Được truy lục từ https://viblo.asia/p/pyspark-voi-mot-project- machine-learning-nho-nho-3RlL5GyB4bB

6 TMA, (2023) Được truy lục từ https://www.tma-binhdinh.vn/

7 TMA, (2023) Được truy lục từ https://www.tma.vn/Hoi-dap/Cam-nang-nghe-nghiep/ Power-BI-la-gi-va-uu-diem-cua-no-Huong-dan-cach-cai-dat/

8 https://aws.amazon.com/vi/blogs/big-data/build-a-lake-house-architecture-on-aws/

9 https://aws.amazon.com/vi/s3/

10.https://aws.amazon.com/vi/lambda/

11.https://aws.amazon.com/vi/glue/

12.https://aws.amazon.com/vi/athena/

13.https://aws.amazon.com/vi/iam/

Ngày đăng: 12/12/2023, 19:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Shivamb, (2021). Được truy lục từ https://www.kaggle.com/datasets/shivamb/netflix-shows Link
2. Vinh Phạm, (2020). Được truy lục từ https://bizflycloud.vn/tin-tuc/etl-la-gi-cach-thuc-hoat-dong-cua-etl-va-tai-sao-can-su-dung-elt-20200731175234501.htm Link
3. Vinh Phạm, (2020). Được truy lục từ https://bizflycloud.vn/tin-tuc/tim-hieu-ve-dien-toan-dam-may-cloud-computing-193.htm Link
4. Minh Quang, (2022). Được truy lục từ https://glints.com/vn/blog/ngon-ngu-lap-trinh-python-la-gi/ Link
5. Trung Đức, (2022). Được truy lục từ https://viblo.asia/p/pyspark-voi-mot-project-machine-learning-nho-nho-3RlL5GyB4bB Link
6. TMA, (2023). Được truy lục từ https://www.tma-binhdinh.vn/ Link
7. TMA, (2023). Được truy lục từ https://www.tma.vn/Hoi-dap/Cam-nang-nghe-nghiep/Power-BI-la-gi-va-uu-diem-cua-no-Huong-dan-cach-cai-dat/ Link

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

TÀI LIỆU LIÊN QUAN

w