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

Building serverless data processing pipeline and api pipeline on amazon web services

58 30 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

Định dạng
Số trang 58
Dung lượng 3,53 MB

Nội dung

TRƯỜNG ĐẠI HỌC KINH TẾ KHOA THỐNG KÊ – TIN HỌC BÁO CÁO THỰC TẬP NGHỀ NGHIỆP NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ CHUYÊN NGÀNH QUẢN TRỊ HỆ THỐNG THÔNG TIN BUILDING SERVERLESS DATA PROCESSING PIPELINE AND API PIPELINE ON AMAZON WEB SERVICES Đơn vị thực tập : TMA Solutions Bình Định Giảng viên hướng dẫn : TS Nguyễn Thị Uyên Nhi ii iii LỜI CẢM ƠN Trong hành trình thực tập tốt nghiệp TMA Solutions Bình Định em xin kính chúc tất sức khỏe hạnh phúc Em muốn gửi tới tất người hỗ trợ đồng hành em suốt thời gian lời cảm ơn chân thành sâu sắc Đầu tiên quan trọng nhất, em muốn bày tỏ lòng biết ơn tới anh Lương Ngọc Lợi, mentor thân thiết em công ty Sự hỗ trợ hướng dẫn từ anh không giúp em hiểu rõ lĩnh vực mà em theo đuổi, mà giúp em phát triển kỹ làm việc môi trường thực tế Những chia sẻ, gợi ý kiến thức quý báu từ anh nguồn động viên thiếu cho phát triển em Em muốn bày tỏ lịng biết ơn đến Nguyễn Thị Uyên Nhi, cán giảng viên trường Đại học Kinh tế - Đại học Đà Nẵng Sự hướng dẫn, tư vấn từ cô giúp em áp dụng kiến thức lý thuyết vào thực tế công việc Những lời khuyên quý báu phản hồi xây dựng từ cô giúp em nắm vững ngành học định hướng phát triển Một lần nữa, em chân thành cảm ơn tất Những trải nghiệm kiến thức thu đồng hành em tương lai iv LỜI CAM ĐOAN Em danh nghĩa sinh viên thực tập TMA Solutions Bình Định thực đề tài thực tập, cam kết tất kết quả, thông tin trình bày đề tài hồn tồn em Em xác nhận đề tài thực tập tốt nghiệp thực hướng dẫn mentor Lương Ngọc Lợi Em sử dụng kiến thức kỹ cá nhân để thực công việc cách trung thực nỗ lực suốt thời gian thực đề tài thực tập Em cam kết em tuân thủ tất quy định, quy tắc nguyên tắc học thuật quy định Em hiểu vi phạm nguyên tắc trung thực đạo đức học thuật dẫn đến hậu nghiêm trọng kết thực tập em danh dự em v MỤC LỤC LỜI CẢM ƠN iv LỜI CAM ĐOAN v MỤC LỤC vi DANH MỤC HÌNH ẢNH viii DANH MỤC CÁC TỪ VIẾT TẮT xi LỜI MỞ ĐẦU xii CHƯƠNG TỔNG QUAN VỀ TMA SOLUTIONS BÌNH ĐỊNH VÀ VỊ TRÍ DATA ENGINEER 1.1 Giới thiệu TMA Solutions Bình Định 1.2 Lịch sử hình thành phát triển TMA Solutions Bình Định 1.3 Vị trí thực tập 1.3.1 Tổng quan Data Engineer 1.3.2 Các kỹ kỹ sư liệu 1.3.3 Con đường phát triển Data Engineer CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tìm hiểu Cloud Computing 2.1.1 Khái niệm 2.1.2 So sánh với On-premises 2.2 Amazon Web Services 2.3 Tìm hiểu Serverless 2.4 Ưu điểm Serverless 2.5 Giới thiệu đề tài thực 2.6 Các Services sử dụng đề tài vi CHƯƠNG TRIỂN KHAI ĐỀ TÀI 15 3.1 Data Processing Pipeline 15 3.1.1 Tạo bucket inputbucketex Amazon S3 15 3.1.2 Tạo Lambda Function split 16 3.1.3 Tạo cấu hình Outputbucketex 23 3.1.4 Tạo Glue Jobs ETL 26 3.1.5 Tạo bucket deltafilebucket 29 3.1.6 Amacon Glue Crawler 32 3.1.7 Amazon Athena 34 3.2 API Pipeline 35 3.2.1 Tạo Lambda Function để truy vấn liệu 35 3.2.2 Tạo cấu hình API Gateway 36 3.3 Tích hợp thêm Amazon Quicksight 40 CHƯƠNG KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI .43 4.1 Kết đạt 43 4.2 Hướng phát triển đề tài 43 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 44 TÀI LIỆU THAM KHẢO .45 CHECK LIST CỦ A BÁO CÁO 46 vii DANH MỤC HÌNH ẢNH Hình : Logo TMA Solutions Hình 2: So sánh Cloud Computing với On-premises Hình 3: Logo AWS Hình 4: PIPELINE 15 Hình 5: Create bucket inputbucketex 16 Hình 6: 3.1.2 Bước1 16 Hình 7: 3.1.2 Bước 17 Hình 8: 3.1.2 Bước 3_1 17 Hình 9: 3.1.2 Bước 3_2 18 Hình 10: 3.1.2 Bước 18 Hình 11: 3.1.2 Bước 5_1 19 Hình 12: 3.1.2 Bước 5_2 19 Hình 13: 3.1.2 Bước 5_3 19 Hình 14: 3.1.2 Bước 20 Hình 15: 3.1.2 Bước 21 Hình 16: 3.1.2 Bước 22 Hình 17: 3.1.2 Bước 22 Hình 18: 3.1.3 23 Hình 19: 3.1.4 Bước 24 Hình 20: 3.1.4 Bước 24 Hình 21: 3.1.4 Bước 25 Hình 22: 3.1.4 Bước 25 Hình 23: 3.1.5 Bước 26 viii Hình 24: 3.1.5 Bước 26 Hình 25: 3.1.5 Bước 27 Hình 26: 3.1.5 Bước 27 Hình 27: 3.1.3 Upload tệp jar lên s3 28 Hình 28: Add tệp jar chứa thư viện delta 28 Hình 29: 3.1.5 Bước 29 Hình 30: 3.1.6 30 Hình 31: 3.1.7 Bước 1_1 30 Hình 32: 3.1.7 Bước 1_2 31 Hình 33: 3.1.7 Bước 31 Hình 34: 3.1.7 Bước 32 Hình 35: 3.1.8 Bước 32 Hình 36: 3.1.8 Bước 33 Hình 37: 3.1.8 Bước 33 Hình 38: 3.1.8 Bước 34 Hình 39: 3.1.8 Bước 34 Hình 40: 3.1.9 35 Hình 41: 3.2.1 Bước 36 Hình 42: 3.2.1 Bước 36 Hình 43: 3.2.2 Bước 1_1 36 Hình 44: 3.2.2 Bước 1_2 37 Hình 45: 3.2.2 Bước 37 Hình 46: 3.2.2 Bước 3_1 38 Hình 47: 3.2.2 Bước 3_2 38 Hình 48: 3.2.2 Bước 39 Hình 49: 3.2.2 Bước 5_1 39 Hình 50: 3.2.2 Bước 5_1 40 ix Hình 51: Giao diện add dataset quicksight 40 Hình 52: Giao diện add database table 41 Hình 53: Cửa sổ edit data quicksight 41 Hình 54: giao diện trực quan 42 Hình 55: Đặt lịch tự động cập nhật 42 x Hình 34: 3.1.7 Bước 3.1.6 Amacon Glue Crawler Bước 1: Tạo Glue crawler có tên craw Hình 35: 3.1.8 Bước Bước 2: Chọn nguồn liệu folder score_delta bucket outputbucketex delta lake file từ tập liệu em Chọn kiểu liệu Delta Lake Nếu liệu crawler trước có Glue Catalog chuyển sang tab Yes 32 Hình 36: 3.1.8 Bước Bước 3: Thực chọn role Em chọn role em cấu hình bên cho Glue Jobs để truy cập vào Amazon S3 cho crawler ln Hình 37: 3.1.8 Bước Bước 4: Vào Glue Data Catalog để tạo database nơi lưu trữ liệu crawler 33 Hình 38: 3.1.8 Bước Bước 5: Chọn database lưu trữ liệu crawler, thiết lập prefix tức phần tên tệp crawler để tạo thành bảng database Glue Data catalog Ở phần lập lịch tự động crawler em chọn on demand tức sau crawler tập liệu vào Glue Catalog lần sau có thay đổi tập liệu crawler tự động cập nhật vào Glue Data Catalog Hình 39: 3.1.8 Bước 3.1.7 Amazon Athena Cho phép truy vấn liệu SQL sau Glue Crawler crawler thành công Sau thành công database table database Glue Data Catalog xuất Amazon Athena 34 Hình 40: 3.1.9 3.2 API Pipeline 3.2.1 Tạo Lambda Function để truy vấn liệu Lambda Function get_data_api có mục đích gọi từ Amazon API Gateway ,thì Lambda thực truy vấn liệu cách trỏ vào Amazon Athena sau trả liệu dạng json cho API Gateway, cuối trả cho client Bước 1: Tạo Lambda Function get_data_api Chọn môi trường chạy, chọn role cấu hình quyền phép truy cập vào athena để truy vấn liệu 35 Hình 41: 3.2.1 Bước Bước 2: Viết code để xử lý Code để trỏ tới Athena truy vấn liệu Hình 42: 3.2.1 Bước 3.2.2 Tạo cấu hình API Gateway Bước 1: Em thực xây dựng Rest API có tên MyAPI Hình 43: 3.2.2 Bước 1_1 36 Hình 44: 3.2.2 Bước 1_2 Bước 2: Em tạo Resource, resource có phương thức HTTP Hình 45: 3.2.2 Bước Bước 3: Thiết lập phương thức HTTP cho resource em vừa tạo phương thức get Em tích hợp với Lambda Function có tên get_api_data 37 Hình 46: 3.2.2 Bước 3_1 Sau cấu hình tích hợp với Lambda Function get_data_api Lập tức Lambda Function điều kiện kích hoạt API Gateway Hình 47: 3.2.2 Bước 3_2 Bước 4: Cấu hình cho phương thức get resource vừa tạo Có thể dùng Test để kiểm tra API sử dụng Postman để kiểm tra 38 Hình 48: 3.2.2 Bước Bước 5: Sau hoàn tất bước tạo API Gateway em thực deploy Sau cửa sổ deploy tạo phiên cho api Hình 49: 3.2.2 Bước 5_1 39 Hình 50: 3.2.2 Bước 5_1 3.3 Tích hợp thêm Amazon Quicksight Quicksight phần mở rộng pipeline em, em cần sử dụng quicksight muốn phân tích insight tập liệu Bước 1: Chọn nguồn liệu đầu vào Amazon Quicksight tích hợp đa dạng với hầu hết hệ thống lưu trữ liệu Em chọn nguồn tập liệu em vừa xử lý Amazon Athena Hình 51: Giao diện add dataset quicksight Bước 2: Chọn database table cần thiết 40 Hình 52: Giao diện add database table Bước 3: Edit xem qua tập liệu trước phân tích Hình 53: Cửa sổ edit data quicksight Bước 4: Em phân tích yếu tố ảnh hưởng đến điểm kiểm tra học sinh giới tính, bữa ăn trưa, học vấn ba mẹ, thời gian học hàng tuần 41 Hình 54: giao diện trực quan Bước 5: Em thiết lập thời gian làm cập nhật tập liệu hàng ngày vào Quicksight Đối với liệu giao dịch thường xun cập nhật hữu ích Ví dụ liệu bán hàng sàn thương mại điện tử Hàng ngày tải file hóa đơn mà shoppe cung cấp sau cần tải lên bucket inputbucketex sau liệu làm cập nhật, biến đổi trực quan Hình 55: Đặt lịch tự động cập nhật 42 CHƯƠNG 4.1 KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Kết đạt Trong đề tài "BUILDING SERVERLESS DATA PROCESSING PIPELINE AND API PIPELINE ON AWS" em đạt thành tựu đáng kể việc xây dựng ống dẫn xử lý liệu hoàn toàn tự động hiệu tảng AWS Thông qua việc kết hợp tối ưu hóa dịch vụ Amazon S3, AWS Lambda, Amazon Glue, Amazon Athena, Amazon QuickSight Amazon API Gateway, em tạo hệ thống mạnh mẽ linh hoạt để xử lý liệu cho phép hệ thống khác tương tác thông qua API vào hệ thống liệu Một kết đáng ý việc tối ưu hố chi phí thơng qua sử dụng AWS Lambda để thực bước xử lý liệu nhỏ Bằng cách sử dụng dịch vụ máy chủ khơng địi hỏi tài ngun trì liên tục, em đạt tiết kiệm quan trọng nguồn lực tài Thêm vào đó, việc chuyển đổi từ định dạng tệp thông thường sang Delta Lake thông qua Glue ETL Jobs cải thiện tính khả dụng hiệu suất liệu Định dạng Delta Lake cung cấp khả quản lý lịch sử thay đổi tính ACID, tạo điều kiện thuận lợi cho việc truy vấn phân tích liệu cách xác linh hoạt Qua việc xây dựng ống dẫn xử lý liệu tự động, em giảm thiểu thời gian xử lý từ hàng xuống thời gian ngắn Điều giúp em tăng cường hiệu suất tính khả dụng hệ thống, đồng thời giảm can thiệp thủ công tối ưu hóa quy trình làm việc 4.2 Hướng phát triển đề tài Em đạt nhiều thành tựu, tương lai nhiều hội để tối ưu hóa mở rộng hệ thống Bằng việc tập trung vào tối ưu hiệu suất, tích hợp dịch vụ dịch vụ sở liệu Amazon RDS, DynamoDB, kho liệu Amazon Redshift, nâng cao bảo mật tương tác liên kết phần hệ thống, em đáp ứng cách tốt với gia tăng không ngừng nhu cầu xử lý truy vấn liệu 43 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN  Đạt được: - Trong suốt tập, em học lượng kiến thức, kỹ sử dụng công nghệ, với học quy trình làm việc thực tế công ty - Hiểu Biết Apache Spark: Em có hội học Apache Spark, công cụ mạnh mẽ để xử lý liệu lớn Biết cách sử dụng Databricks để thực hành với ApacheSpark - Hiểu biết Delta Lake: Em tìm hiểu sử dụng Delta Lake để quản lý liệu Việc cải thiện tính khả dụng, bảo mật hiệu suất liệu, đồng thời tạo điều kiện thuận lợi cho việc thực hoạt động xử lý liệu - Làm Quen với dịch vụ AWS: Em làm quen với dịch vụ AWS Amazon S3, Lambda, Glue, Athena QuickSight, IAM, Cloud Watch, API Gateway  Hạn chế: - Thời gian thực tập có hạn nên em học phần kiến thức tổng quát chưa thực sâu nâng cao - Các kỹ mềm em cần cải thiện Em cần cải thiện phong cách làm việc theo hướng chuyên nghiệp  Hướng phát triển: - Tìm hiểu sâu AWS: Em tìm hội để thực hành sử dụng thêm dịch vụ AWS khác để tạo hệ thống xử lý liệu phân tán phức tạp - Luyện kỹ giao tiếp, thuyết trình hợp tác: Giao tiếp hiệu khả hợp tác môi trường quan trọng Em cải thiện kỹ để làm việc tốt - Nâng cao kỹ lập trình Python SQL: Kỹ em mức bản, để hoàn thiện đầy đủ kỹ cần thiết cho công việc sau này, em cần phải nâng cấp độ thông thạo 44 TÀI LIỆU THAM KHẢO AWS Documentation: https://docs.aws.amazon.com/?nc2=h_ql_doc_do Delta Lake: https://delta.io/ 45 CHECK LIST CỦ A BÁO CÁO STT Nô ̣i dung công viêc̣ Có Báo cáo đươc̣ trình bày (đinh ̣ da ̣ng) đúng với yêu cầ u X Báo cáo có số lươṇ g trang đáp ứng đúng yêu cầ u (30-50 trang) X Báo cáo trình bày đươc̣ phầ n mở đầ u bao gồ m: Mu ̣c tiêu, Pha ̣m vi và đố i tươṇ g, kế t cấ u … X Báo cáo trình bày về công ty, vi ̣ trí viê ̣c làm (cơng việc làm gì, kiến thức kỹ cần thiết gì, đường phát triển nghiệp (career path)), sở lý thuyế t phù hơp̣ với nô ̣i dung của đề tài (Tố i đa 10-12 trang) X Báo cáo có sản phẩ m cu ̣ thể phù hơp̣ với mu ̣c tiêu đă ̣t của đề tài X Báo cáo có phầ n kế t luâ ̣n và hướng phát triể n của đề tài X 46 Không Ghi chú

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

w