phân tích dữ liệu luồng và trực quan kết quả lên power bi điện toán đám mây

26 2 0
Tài liệu đã được kiểm tra trùng lặp
phân tích dữ liệu luồng và trực quan kết quả lên power bi điện toán đám mây

Đ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

Một trong những cách để khai thác dữ liệu luồng là sử dụng cáccông cụ phân tích và trực quan hóa dữ liệu, như Power BI.Phân tích dữ liệu cuộc gọi điện thoại bằng Azure Stream Analytics..

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THỐNG THÔNG TIN

PHÂN TÍCH DỮ LIỆU LUỒNG VÀ TRỰC QUAN KẾT QUẢ LÊN POWER BIĐIỆN TOÁN ĐÁM MÂY

Giảng viên hướng dẫn ThS Hà Lê Hoài Trung

Lớp: IS402.O11.HTCLSinh viên thực hiện:

Nguyễn Quốc VinhĐỗ Thanh Trường

Thành phố Hồ Chí Minh, 2023

Trang 2

BẢNG PHÂN CÔNG CÔNG VIỆC

Nguyễn Thị TrangThơ20521973

Đỗ ThanhTrường20522079

Nguyễn QuốcVinh20522160

Lê Tiến TuấnVũ20522164

Trang 3

Mục lục

I Giới thiệu 4

1.Giới thiệu đề tài 4

2.Mục tiêu 4

II Lý thuyết tổng quan 4

1.Azure Stream Analytics 4

2.Azure Event Hub 5

3.Azure Blob Storage 6

4.Azure Synapse Analytics 8

5.Power BI service 9

III Phân tích dữ liệu 10

1.Thu thập dữ liệu 10

2.Triển khai 10

2.1.Thiết lập Azure Event Hub 11

2.2.Thiết lập Azure Stream Analytics 16

Trang 4

I Giới thiệu

1 Giới thiệu đề tài

Dữ liệu luồng là một loại dữ liệu được tạo ra liên tục bởi các nguồn khác nhau, nhưthiết bị IoT, máy chủ web, mạng xã hội Dữ liệu luồng có thể mang lại nhiều thông tinhữu ích cho các tổ chức và cá nhân, nhưng cũng đặt ra nhiều thách thức về khả năng xửlý, lưu trữ và phân tích Một trong những cách để khai thác dữ liệu luồng là sử dụng cáccông cụ phân tích và trực quan hóa dữ liệu, như Power BI.

Phân tích dữ liệu cuộc gọi điện thoại bằng Azure Stream Analytics Dữ liệu cuộc gọiđiện thoại được tạo bởi ứng dụng client (dữ liệu luồng - data stream), chứa các cuộc gọigian lận, được phát hiện bởi công cụ Stream Analytics Có thể sử dụng các kỹ thuật từ bàitập này để phát hiện các loại gian lận khác, chẳng hạn như gian lận thẻ tín dụng hoặctrộm danh tính.

2 Mục tiêu

Mục tiêu của bài tập này là học cách để:

Tạo dữ liệu cuộc gọi điện thoại mẫu và gửi đến Trung tâm sự kiện Azure.Tạo công việc Phân tích luồng

Cấu hình đầu vào và đầu ra công việc

Xác định các truy vấn để lọc các cuộc gọi lừa đảo Kiểm tra và bắt đầu công việc

Trực quan hóa kết quả trong Power BI.

II Lý thuyết tổng quan 1 Azure Stream Analytics

Azure Stream Analytics là một dịch vụ tích hợp trong Microsoft Azure, được thiết kếđể xử lý và phân tích dữ liệu trực tiếp từ nguồn dữ liệu thời gian thực như luồng dữ liệu,log sự kiện, và các nguồn dữ liệu khác Dịch vụ này giúp người dùng triển khai các truyvấn trực tiếp lên dữ liệu đầu vào để trích xuất thông tin quan trọng, thực hiện biến đổi dữliệu, và đưa ra kết quả hoặc truyền dữ liệu đó vào các hệ thống khác.

Trang 5

Một số tính năng chính của Azure Stream Analytics bao gồm:

Xử lý thời gian thực: Cho phép xử lý dữ liệu ngay khi nó được tạo ra hoặcnhận được, giúp đáp ứng nhanh chóng với sự thay đổi trong dữ liệu.

Hỗ trợ ngôn ngữ truy vấn SQL: Sử dụng ngôn ngữ truy vấn SQL để trích xuất,biến đổi, và phân tích dữ liệu, giúp người dùng không chuyên về lập trình cóthể dễ dàng sử dụng.

Tích hợp linh hoạt: Có thể tích hợp với nhiều nguồn dữ liệu khác nhau và đưara các đầu ra vào các hệ thống khác nhau như Azure Event Hub, Azure BlobStorage, Azure SQL Database, Azure Cosmos DB, Power BI, và nhiều hệthống khác.

Khả năng mở rộng: Có thể mở rộng để xử lý lượng dữ liệu lớn thông qua sựtích hợp với các dịch vụ Azure khác.

Azure Stream Analytics thường được sử dụng trong các kịch bản như giám sát thờigian thực, phân tích dữ liệu từ Internet of Things (IoT), xử lý log sự kiện, và các ứngdụng khác liên quan đến xử lý và phân tích dữ liệu thời gian thực.

2 Azure Event Hub

Azure Event Hubs là dịch vụ truyền dữ liệu gốc trên nền tảng đám mây có thể truyềnphát hàng triệu sự kiện mỗi giây, với độ trễ thấp, từ bất kỳ nguồn nào đến bất kỳ đíchnào.

Bằng cách sử dụng Event Hub để thu nạp và lưu trữ dữ liệu phát trực tuyến, doanhnghiệp có thể khai thác sức mạnh của dữ liệu phát trực tuyến để thu được thông tin chitiết có giá trị, thúc đẩy phân tích theo thời gian thực và phản hồi các sự kiện khi chúngdiễn ra, nâng cao hiệu quả tổng thể và trải nghiệm của khách hàng.

Một số tính năng chính của Azure Event Hubs bao gồm:

Trang 6

Thu thập dữ liệu sự kiện: Event Hubs có khả năng thu thập hàng triệu sự kiệnmỗi giây từ các nguồn như thiết bị IoT (Internet of Things), ứng dụng, trangweb, hoặc bất kỳ nguồn sự kiện nào khác.

Đối tượng chủ đề (Event Hubs namespaces): Event Hubs hỗ trợ đối tượng chủđề, cho phép bạn phân loại và tổ chức sự kiện thành các chủ đề khác nhau đểdễ dàng quản lý và theo dõi.

Lưu trữ dữ liệu sự kiện: Dữ liệu sự kiện được dự trữ trong một kho lưu trữ tuỳchọn, giúp bạn duy trì dữ liệu sự kiện trong khoảng thời gian cần thiết.

Khả năng mở rộng: Event Hubs có thể mở rộng để xử lý một lượng lớn sự kiệnvà đảm bảo khả năng mở rộng tốt.

Tích hợp với các dịch vụ Azure khác: Event Hubs tích hợp chặt chẽ với nhiềudịch vụ khác trong Azure như Azure Stream Analytics, Azure Functions,Azure Logic Apps, Azure Storage, và nhiều dịch vụ khác.

Azure Event Hubs là lớp nhập sự kiện ưu tiên của bất kỳ giải pháp truyền phát sự kiệnnào mà bạn xây dựng trên Azure Nó tích hợp liền mạch với các dịch vụ dữ liệu và phântích bên trong và bên ngoài Azure nên thường được sử dụng trong các trường hợp nhưthu thập dữ liệu từ IoT, xử lý dữ liệu sự kiện trong thời gian thực, và truyền tải dữ liệu sựkiện giữa các thành phần của ứng dụng, nhằm phục vụ các trường hợp sử dụng sau:

Phân tích thời gian thực với Azure Stream Analytics để tạo thông tin chi tiết theothời gian thực từ dữ liệu truyền phát.

Phân tích và khám phá dữ liệu phát trực tuyến bằng Azure Data Explorer.Tạo các ứng dụng, chức năng hoặc vi dịch vụ gốc trên đám mây của riêng chúngta chạy trên dữ liệu truyền trực tuyến từ Event Hubs.

Trang 7

Truyền phát sự kiện bằng tính năng xác thực lược đồ bằng cách sử dụng sổ đăngký lược đồ tích hợp sẵn để đảm bảo chất lượng và khả năng tương thích của dữliệu truyền phát.

3 Azure Blob Storage

Azure Blob Storage là giải pháp lưu trữ đối tượng của Microsoft dành cho môi trườngđám mây Đây là một hệ thống lưu trữ được tối ưu hóa để chứa lượng lớn dữ liệu khôngcó cấu trúc Dữ liệu không có cấu trúc thường là những dữ liệu không tuân theo một môhình hay định nghĩa cụ thể nào đó, chẳng hạn như dữ liệu văn bản, dữ liệu hình ảnh, hoặcdữ liệu nhị phân.

Blob Storage được thiết kế để:

- Cung cấp hình ảnh hoặc tài liệu trực tiếp đến trình duyệt.- Lưu trữ các tệp tin để truy cập phân tán.

- Phát trực tuyến video và âm thanh.- Ghi vào các tệp nhật ký.

- Lưu trữ dữ liệu để sao lưu và khôi phục, phục hồi sau thảm họa, và lưu trữ dữ liệulâu dài.

- Lưu trữ dữ liệu để phân tích bởi dịch vụ được đặt tại chỗ hoặc trên nền tảngAzure.

Người dùng có thể truy cập các đối tượng trong Blob Storage thông quaHTTP/HTTPS từ mọi nơi trên thế giới Đối tượng trong Blob Storage có thể được truycập thông qua Azure Storage REST API, Azure PowerShell, Azure CLI, hoặc một thưviện người dùng Azure Storage Các thư viện người dùng có sẵn cho các ngôn ngữ lậptrình khác nhau, bao gồm: NET, Java, Node.js, Python, Go

Người dùng cũng có thể kết nối một cách an toàn đến Blob Storage bằng cách sửdụng Giao thức Truyền tệp SSH (SFTP) và gắn kết các container Blob Storage bằng cáchsử dụng Giao thức Hệ thống Tệp Mạng (NFS) 3.0.

Blob Storage có hỗ trợ Azure Data Lake Storage Gen2, là giải pháp phân tích dữ liệulớn trong doanh nghiệp của Microsoft trên nền tảng đám mây Azure Data Lake StorageGen2 cung cấp một hệ thống tệp các hệ thống theo cấp độ cũng như những ưu điểm củaBlob Storage

Blob Storage cung cấp ba loại tài nguyên:- Tài khoản lưu trữ (Storage Account):

+ Một tài khoản lưu trữ cung cấp một không gian tên duy nhất trong Azure cho dữliệu của người dùng Mỗi đối tượng mà người dùng lưu trữ trong Azure Storage đều cómột địa chỉ bao gồm tên tài khoản duy nhất của bạn Sự kết hợp giữa tên tài khoản vàđiểm cuối Blob Storage tạo thành địa chỉ cơ sở cho các đối tượng trong tài khoản lưu trữcủa người dùng

+ Các loại tài khoản lưu trữ khác nhau được hỗ trợ cho Blob Storage: purpose v2, Block blob, Page blob

Trang 8

General Container trong tài khoản lưu trữ:

+ Một container tổ chức một bộ các blobs, tương tự như một thư mục trong hệ thốngtệp Một tài khoản lưu trữ có thể bao gồm một số không giới hạn container, và mộtcontainer có thể lưu trữ một số không giới hạn các blobs.

- Blob trong một container:+ Azure Storage hỗ trợ ba loại blobs:

Block blobs: Lưu trữ dữ liệu văn bản và nhị phân Block blobs được tạo thành từcác khối dữ liệu có thể được quản lý độc lập Chúng có khả năng lưu trữ lên đến khoảng190.7 TiB.

Append blobs: Gồm các khối giống như block blobs, nhưng được tối ưu hóa chocác hoạt động append (thêm dữ liệu vào cuối) Append blobs lý tưởng cho các kịch bảnnhư ghi log dữ liệu từ các máy ảo.

Page blobs: Lưu trữ các tệp có thể truy cập ngẫu nhiên với kích thước lên đến 8TiB Page blobs lưu trữ các tệp đĩa cứng ảo (VHD) và đóng vai trò là ổ đĩa cho các máyảo Azure.

Biểu đồ dưới đây mô tả mối quan hệ giữa các tài nguyên này:

4 Azure Synapse Analytics

Azure Synapse là dịch vụ phân tích doanh nghiệp giúp tăng tốc thời gian tìm hiểu sâuvề kho dữ liệu và hệ thống dữ liệu lớn Azure Synapse tập hợp những công nghệ SQL tốtnhất được sử dụng trong kho dữ liệu doanh nghiệp, công nghệ Spark được sử dụng chodữ liệu lớn, Data Explorer để phân tích nhật ký và chuỗi thời gian, Pipesline để tích hợpdữ liệu và ETL/ELT cũng như tích hợp sâu với các dịch vụ Azure khác như Power BI,CosmosDB và AzureML.

Trang 9

Dưới đây là một số đặc điểm chính của Azure Synapse Analytics:

Lưu trữ và xử lý dữ liệu: Synapse Analytics sử dụng kiến trúc Massively ParallelProcessing (MPP) để cung cấp khả năng lưu trữ và xử lý dữ liệu lớn một cách hiệuquả.

Tích hợp dữ liệu: Dịch vụ này có khả năng tích hợp dữ liệu từ nhiều nguồn khácnhau, bao gồm cả dữ liệu có cấu trúc và không có cấu trúc, giúp tạo ra một hệthống phân tích toàn diện.

Tích hợp với Power BI: Có tích hợp chặt chẽ với Power BI để trực quan hóa dữliệu và tạo bảng điều khiển phân tích.

Tích hợp với dịch vụ Azure khác: Synapse Analytics tích hợp với nhiều dịch vụkhác trong Azure như Azure Event Hubs, Azure Data Factory, Azure MachineLearning, Azure Active Directory, và nhiều dịch vụ khác.

Quản lý bảo mật và nhóm người dùng: Dịch vụ này cung cấp các tính năng bảomật mạnh mẽ và khả năng quản lý người dùng, nhóm người dùng, và quyền truycập.

5 Power BI service

Dịch vụ đám mây Power BI Service là một dịch vụ lưu trữ dữ liệu của Power BI chophép người dùng lưu trữ báo cáo, dashboard mọi nơi mọi lúc.

Trang 10

Power BI service có 4 thành phần cơ bản như:

Dashboard: là một bảng điều hướng hiển thị các số liệu quan trọng từ các Report.

Bạn có thể tạo nhiều Dashboard khác nhau trong một Workspace và chia sẻ chúng vớingười khác.

Workspace: là nơi bạn lưu trữ các tài liệu Power BI của riêng mình, bao gồm các

Dashboard, Report và Dataset Bạn có thể thêm hoặc xóa người dùng khác để cùng làmviệc trên Workspace.

Report: là một tài liệu Power BI chứa các biểu đồ, đồ thị và thông tin chi tiết về dữ

liệu Bạn có thể tạo nhiều Report khác nhau từ cùng một Dataset hoặc từ các Datasetkhác nhau.

Datasets: là một nguồn dữ liệu được liên kết với Power BI Service Bạn có thể nhập

hoặc kết nối với nhiều loại nguồn dữ liệu khác nhau, như Excel, SQL Server, Salesforce,web… Bạn có thể tạo nhiều Dataset khác nhau trong một Workspace và chia sẻ chúngvới người khác.

III Phân tích dữ liệu1 Thu thập dữ liệu

Dữ liệu được tải xuống từ ứng dụng tạo sự kiện cuộc gọi điện thoại,TelcoGenerator.zip từ Microsoft hoặc lấy mã nguồn từ GitHub.

Dữ liệu cuộc gọi điện thoại chứa các trường sau:

CallrecTime Thời điểm bắt đầu cuộc gọi

dụ này, các chuyển mạch được đặt dưới dạng chuỗi đại diện cho quốc

Trang 11

gia/khu vực xuất phát (Mỹ, Trung Quốc, Anh, Đức hoặc Úc).CallingNum Số điện thoại của người gọi

Mã danh tính Quốc tế của Người gọi Đó là một định danh duy nhất củangười gọi.

nhất của người nhận cuộc gọi.Các bước thực hiện thu thập dữ liệu:- Giải nén tệp TelcoGenerator.zip.

- Mở tệp TelcoGenerator\TelcoGenerator\telcodatagen.exe.config bằng một trìnhsoạn thảo văn bản bất kỳ.

- Cập nhật phần tử <appSettings> trong tệp cấu hình với các chi tiết sau:

o Đặt giá trị của khóa EventHubName thành giá trị của EntityPath ở cuối chuỗikết nối.

o Đặt giá trị của khóa Microsoft.ServiceBus.ConnectionString thành chuỗi kếtnối mà không có giá trị EntityPath ở cuối.

- Lưu lại tệp.

- Tiếp theo, mở cửa sổ dòng lệnh và chuyển đến thư mục giải nén ứng dụngTelcoGenerator Sau đó, nhập lệnh sau: \telcodatagen.exe 1000 0.2 2

Lệnh này có các tham số sau:

- Số lượng bản ghi dữ liệu cuộc gọi mỗi giờ.

- hần trăm xác suất gian lận, đại diện cho tần suất mà ứng dụng nên mô phỏngmột cuộc gọi gian lận Giá trị 0.2 có nghĩa là khoảng 20% các bản ghi cuộc gọicó vẻ là gian lận.

- Thời lượng tính bằng giờ, là số giờ mà ứng dụng nên chạy Cũng có thể dừngứng dụng bất cứ lúc nào bằng cách kết thúc quy trình (Ctrl+C) tại dòng lệnh.- Sau vài giây, ứng dụng sẽ bắt đầu hiển thị bản ghi cuộc gọi điện thoại trên màn

hình khi nó gửi chúng đến event hub.

- Tài khoản Power BI

2.1 Thiết lập Azure Event Hub

- Tạo namespace cho event hub: Chọn Create a resource > Event hub Tại trang

Event Hubs chọn Create

Trang 12

- Thiết lập các thông số về resource group, namespace, location, pricing tier Sau đó chọnReview + create.

Sau khi namespace được triển khai thành công, chọn Go to resource để chuyển đến trang Event Hubs Namespace.

Tại Event Hubs Namespace tiến hành tạo mới một Event Hub

Trang 13

Nhập tên Event Hub Thiết lập partition là 2 Sử dụng các lựa chọn mặc định và chọn Review + Create.

- Cấp quyền truy cập cho event hub và lưu chuỗi kết nối

Trang 14

- Thực hiện kết nối đến event hub thông qua tên và chuỗi kết nối

Trang 15

- Khởi chạy chương trình tạo cuộc gọi

Trang 16

2.2 Thiết lập Azure Stream Analytics- Tạo Azure Stream Analytics

Trang 17

- Thiết lập các thông số về Resource Group, Name, và các thông số liên quan.

- Cấu hình Input: Chọn Add Input và Event Hub

Trang 18

- Thiết lập tên cho Input, chọn các thông tin về subscription, event hub namespace, …

Cấu hình output: Xuất dữ liệu vào Synapse Analytics

Trang 19

- Tạo Sysnapse Analytics

- Tạo table fraudcall

- Cấu hình output synapse analytics

Trang 20

- Thực hiện truy vấn

- Nhận được dữ liệu real-time

Trang 21

Cấu hình output: Xuất và trực quan hóa dữ liệu với Power BI

Trang 22

- Start job và trực quan hóa dữ liệu với Power BI

Trang 23

- Tại Power BI thực hiện tạo mới một Dashboard

- Chọn loại dữ liệu và dataset

Trang 24

- Thực hiện add tile với visualize type là Line Chart

Trang 25

- Kết quả trực quan hóa dữ liệu

Trang 26

IV Tổng kết

1 Kết quả đạt được

Với kết quả hiện tại, nhóm đã hoàn thành được yêu cầu về bài toán phân tích luồng dữliệu trực tuyến và trực quan hóa kết quả thông qua dịch vụ Azure Stream Analytics Cụthể, nhóm đã tiếp cận và ứng dụng được các công cụ được tích hợp trong hệ sinh thái của

Azure bao gồm:- Azure Event Hub- Azure Stream Analytics Job- Azure Machine Learning Studio- Azure Storage Accounts- Azure Synapse Analytics

Nhóm cũng làm quen được các cách tiếp cận xây dựng mô hình Machine Learningbằng cách thiết lập các công cụ được Azure hỗ trợ cũng như cách hoạt động của cơ chếgửi và nhận sự kiện của Event Hub.

Thông qua đó, nhóm đã xây dựng được hệ thống phát hiện cuộc gọi gian lận Từ đóđưa ra hướng giải quyết cũng như ngăn chặn các hậu qua do các cuộc gọi gian lận gây ra.

2 Mở rộng phạm vi

Trong thời gian sắp tới, nhóm sẽ tiếp cận bài toán bằng cách cải thiện kết quả tínhtoán của mô hình dự đoán bằng cách xây dựng thuật toán xử lý dữ liệu bằng AzureNotebook Điều này sẽ giúp kiểm soát tốt quá trình huấn luyện và kết quả đầu ra của môhình.

Bên cạnh đó, nhóm sẽ ứng dụng đề tài vào phát hiện các loại gian lận khác như gianlận thẻ tín dụng hoặc trộm danh tính.

Tài liệu tham khảo

https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introductionhttps://learn.microsoft.com/en-us/azure/stream-analytics/stream-analytics-real-time-fraud-detection

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

Tài liệu cùng người dùng

Tài liệu liên quan