-
Notifications
You must be signed in to change notification settings - Fork 1
Chương 2_Trang 2_Khái niệm xử lý dữ liệu BA bằng python và ETL
- ETL (Extract, Transform, Load) là một quy trình trong lĩnh vực xử lý dữ liệu (data processing) được sử dụng để lấy dữ liệu từ nguồn khác nhau, biến đổi nó để phù hợp với mô hình dữ liệu mục tiêu, sau đó tải nó vào hệ thống lưu trữ hoặc cơ sở dữ liệu.
- Trong lĩnh vực Business Analytics, vai trò của ETL là rất quan trọng Các bước của quy trình ETL giúp chuyển đổi dữ liệu từ các nguồn khác nhau thành một định dạng hợp lý và phù hợp để phân tích và giải quyết vấn đề kinh doanh.
- Cụ thể, vai trò của ETL trong Business Analytics bao gồm:
1. Trích xuất "Extract" Quá trình này liên quan đến việc lấy dữ liệu từ các nguồn khác nhau như cơ sở dữ liệu, tệp tin, hệ thống ghi log, API, và nhiều nguồn dữ liệu khác. Dữ liệu được trích xuất theo các quy tắc và tiêu chuẩn.
2. Biến đổi "Trasfer" Quá trình biến đổi dữ liệu là bước quan trọng trong quy trình ETL. Dữ liệu trích xuất từ nguồn được chuẩn hóa, định dạng lại, xử lý và biến đổi để tạo ra dữ liệu mới có cấu trúc phù hợp với mô hình dữ liệu mục tiêu. Các biến đổi có thể bao gồm việc lọc dữ liệu, thay đổi định dạng, tính toán các chỉ số mới, gom nhóm dữ liệu, và nhiều phương pháp biến đổi.
3. Tải "Load": Sau khi dữ liệu đã được biến đổi, quá trình tải dữ liệu đưa dữ liệu đã biến đổi vào hệ thống lưu trữ hoặc cơ sở dữ liệu phục vụ cho mục đích phân tích và báo cáo. Quá trình tải có thể bao gồm việc tạo các bảng, cập nhật cơ sở dữ liệu, và xây dựng các chỉ mục để tối ưu hóa truy vấn dữ liệu.
- Vai trò của ETL trong Business Analytics là đảm bảo rằng dữ liệu được chuẩn hóa, phù hợp và sẵn sàng để được phân tích và tạo ra thông tin hữu ích để hỗ trợ quá trình ra quyết định Kinh doanh. ETL đóng vai trò quan trọng trong việc xây dựng và duy trì nền tảng dữ liệu cho các hoạt động phân tích và báo cáo trong lĩnh vực Busiess Analytic.
ETL (Extract, Transform, Load) là quá trình xử lý dữ liệu từ nguồn mới (source) để chuẩn bị và đưa vào hệ thống đích (target). ETL có thể xử lý nhiều dạng dữ liệu khác nhau, bao gồm: 1.Dữ liệu cấu trúc: Đây là loại dữ liệu có cấu trúc rõ ràng, được tổ chức thành các hàng và cột.
Ví dụ: dữ liệu từ cơ sở dữ liệu quan hệ, bảng tính Excel, CSV, JSON có cấu trúc đơn giản
2. Dữ liệu phi cấu trúc: Đây là dạng dữ liệu không có cấu trúc rõ ràng, không được tổ chức thành các bảng hoặc cấu trúc dữ liệu truyền thống.
Ví dụ: dữ liệu văn bản, email, log file, dữ liệu web, dữ liệu từ các nguồn IoT
Trong 2 dạng dữ liệu trên lại chia ra 2 loại dữ liệu có nguồn gốc:
I.Dữ liệu nội suy (Interpolated data) là dạng dữ liệu được xác định và tính toán dựa trên dữ liệu hiện có trong một khoảng thời gian hoặc không gian.
Ví dụ: dữ liệu thời tiết được nội suy từ các trạm quan trắc, dữ liệu kinh tế được nội suy từ các chỉ số kinh tế
Các nhóm dữ liệu nội suy (Interpolated data) thông thường bao gồm:
1.Dữ liệu số học (Numeric data): Đây là nhóm dữ liệu nội suy được biểu diễn dưới dạng các con số hoặc giá trị số.
Ví dụ: dữ liệu về nhiệt độ, áp suất, độ cao, trọng lượng, tỷ lệ phần trăm.
2.Dữ liệu thời gian (Time data): Nhóm dữ liệu này liên quan đến thời gian và có thể được nội suy để dự đoán giá trị trong quá khứ, hiện tại hoặc tương lai.
Ví dụ: dữ liệu về doanh thu hàng ngày, chỉ số chứng khoán hàng giờ, dữ liệu thời tiết hàng giờ.
3.Dữ liệu địa lý (Geospatial data): Đây là nhóm dữ liệu nội suy liên quan đến vị trí địa lý và có thể được sử dụng để tạo ra bản đồ hoặc dự đoán giá trị tại các vị trí chưa được đo đạc.
Ví dụ: dữ liệu địa lý về độ cao, mật độ dân số, nhiệt độ khu vực.
4.Dữ liệu chuỗi (Time series data): Nhóm dữ liệu này liên quan đến các giá trị được ghi lại theo thời gian và có thể được nội suy để dự đoán giá trị trong tươ_ng lai.
Ví dụ: dữ liệu về doanh số bán hàng theo tháng, dữ liệu lưu lượng truy cập web hàng ngày.
5.Dữ liệu hình ảnh (Image data): Đây là nhóm dữ liệu nội suy liên quan đến hình ảnh và có thể được sử dụng để tái tạo hoặc dự đoán các giá trị hình ảnh chưa được biết.
Ví dụ: dữ liệu hình ảnh từ camera giám sát, dữ liệu hình ảnh y tế.
6.Dữ liệu âm thanh (Audio data): Nhóm dữ liệu này liên quan đến âm thanh và có thể được nội suy để tái tạo hoặc dự đoán các giá trị âm thanh chưa được biết.
Ví dụ: dữ liệu âm thanh từ microphone, dữ liệu từ bộ nhận diện giọng nói.
7. Dữ liệu đa phương tiện Base64: Đây là dạng dữ liệu chứa các phương tiện truyền thông như hình ảnh, âm thanh, video.
Ví dụ: dữ liệu hình ảnh từ camera giám sát, file âm thanh ghi âm, dữ liệu video từ camera an ninh.
8. Dữ liệu thời gian thực Realtime: Đây là dạng dữ liệu được cập nhật liên tục và có tính thời gian gắn kết.
Ví dụ: dữ liệu cảm biến từ các thiết bị IoT, dữ liệu giao dịch tài chính, dữ liệu vị trí GPS.
II.Dữ liệu ngoại suy (Extrapolated data) là dạng dữ liệu được dự đoán và ước lượng dựa trên các xu hướng và mô hình dữ liệu hiện có.
Ví dụ: dự báo thời tiết dựa trên dữ liệu quá khứ, dự báo doanh thu dựa trên dữ liệu bán hàng trước đó
Các nhóm dữ liệu ngoại suy thông thường bao gồm:
1.Dữ liệu dự báo: Dữ liệu được ước lượng trong tương lai dựa trên quá khứ và các yếu tố dự đoán khác.
Ví dụ: dự báo doanh thu, dự báo lưu lượng truy cập trang web.
2.Dữ liệu mô hình: Dữ liệu được tạo ra từ các mô hình dự đoán hoặc mô phỏng.
Ví dụ: dữ liệu từ mô hình học máy, dữ liệu từ mô phỏng thử nghiệm.
3.Dữ liệu tương lai: Dữ liệu được dự đoán cho các sự kiện tương lai dựa trên các yếu tố hiện tại và xu hướng dữ liệu.
Ví dụ: dự đoán giá cổ phiếu, dự đoán trạng thái sức khỏe của hệ thống.
Nhờ quá trình ETL, chúng ta có thể xử lý, chuyển đổi và tận dụng các loại dữ liệu khác nhau để đáp ứng nhu cầu phân tích và quản lý trong các ứng dụng và hệ thống thông tin.......
1.Trích xuất (Extract):
1.1. Kết nối đến các nguồn dữ liệu khác nhau như cơ sở dữ liệu, tệp tin, hệ thống ghi log, API, v.v.
1.2. Truy vấn và lấy dữ liệu từ các nguồn này.
1.3. Lưu trữ dữ liệu trích xuất tạm thời để chuẩn bị cho bước biến đổi.
2.Biến đổi (Transform):
2.1. Kiểm tra và làm sạch dữ liệu trích xuất để loại bỏ dữ liệu không chính xác, thiếu sót hoặc trùng lặp.
2.2. Áp dụng các quy tắc và tiêu chuẩn hóa dữ liệu để đảm bảo tính nhất quán và đồng nhất.
2.3. Tính toán các chỉ số mới, tổng hợp dữ liệu và thực hiện các phép biến đổi khác để chuẩn bị dữ liệu cho phân tích.
3. Tải (Load):
3.1. Tạo cấu trúc dữ liệu mục tiêu như cơ sở dữ liệu hoặc hệ thống lưu trữ.
3.2. Tải dữ liệu đã được biến đổi vào cấu trúc dữ liệu mục tiêu.
3.3 Xây dựng các chỉ mục và cơ sở dữ liệu để tối ưu việc truy vấn dữ liệu.
3.4. Kiểm tra tính toàn vẹn và đảm bảo dữ liệu được tải đúng và hoàn chỉnh.
Python dùng thư viện BeautifulSoup4 để nhập, xử lý dữ liệu đầu vào tự động/bán tự động
Mặc dù tổng thể việc quét web là một lĩnh vực kiến thức phức tạp và nhiều sắc thái, nhưng việc xây dựng trình quét web cơ bản của riêng bạn không quá khó khăn. Và điều đó chủ yếu là do các ngôn ngữ mã hóa như Python.
Ngôn ngữ này làm cho quá trình trở nên đơn giản hơn nhiều nhờ tính dễ sử dụng tương đối và nhiều thư viện hữu ích mà nó cung cấp.
Trong hướng dẫn này, chúng ta sẽ tập trung vào một trong những thư viện cực kỳ phổ biến có tên Beautiful Soup, một gói Python được sử dụng để phân tích các tài liệu HTML và XML.
Nếu bạn muốn xây dựng trình quét web (có mật khẩu xác thực hoặc không yêu cầu xác thực) của mình, bài tập 3 được viết sau đây của tôi trình bày chi tiết những thứ bạn cần biết để bắt đầu với việc quét web bằng Python.
Trong hướng dẫn này, tôi sẽ tập trung cụ thể vào việc phân tích cú pháp tệp HTML, HTML5 mẫu bằng Python và sử dụng thư viện BeautifulSoup4, Selenium để hiển thị các trang động, kiểm tra dữ liệu trực quan "Data Visualization" cũng như làm sạch "data cleansing", phân tích thống kế dữ liệu theo nhiều chiều "Data cube", xây dựng Dữ liệu chuẩn theo mô hình Tập trung Kho Dữ liệu hợp nhất thành Staging DB và Master DB để thực hiện ELT xuất Dữ liệu sang Hệ thống Phân tích Dữ liệu "Analytics Servers" và tạo kết nối sang hệ thống Báo cáo Doanh nghiệp "Power BI Report Server" thông qua các mẫu báo cáo PBI Dashboard.
Dưới đây là sơ đồ đơn giản:
Python được sử dụng để triển khai các bước ETL trong Business Analytics, cụ thể:
1.Trích xuất (Python): Sử dụng các thư viện Python để truy xuất dữ liệu từ nguồn khác nhau như cơ sở dữ liệu, tệp tin, API, v.v
2.Biến đổ (Python): Sử dụng Python để làm sạch dữ liệu, áp dụng các quy tắc và tiêu chuẩn hóa dữ liệu, tính toán các chỉ số mới và thực hiện các phép biến đổi.
3.Tải (Python): Sử dụng Python để tạo cấu trúc dữ liệu mục tiêu như cơ sở dữ liệu và tải dữ liệu đã được biến đổi vào đó.
Python là một ngôn ngữ lập trình phổ biến trong việc xử lý dữ liệu và có nhiều thư viện hỗ trợ cho ETL trong Business Analytics như Pandas, NumPy, SQLAlchemy, và PySpark.
Với sơ đồ này, bạn có thể sử dụng Python để triển khai các bước ETL trong Business Analytics một cách linh hoạt và hiệu quả.
- Business Analyst (BA) là một nghề tồn tại từ lâu trên toàn cầu, nhưng ở Việt Nam thì vẫn còn khá mới (xuất hiện khoảng hơn 27 năm).
- Tôi thực sự đánh giá cao nghề này và trong quá trình làm việc, tôi đã gặp phải nhiều thách thức, từ đó tôi đã hiểu rõ những điểm mạnh và điểm yếu của bản thân. Tôi nhận thấy rằng trong lĩnh vực này có nhiều vấn đề phức tạp và khó khăn, nhưng khi chúng được giải quyết, thì cảm giác thật tuyệt vời.
- BA xuất hiện với mục tiêu giải quyết vấn đề. Đó có thể là biến một điều không tốt thành điều tốt hơn, hoặc cải thiện những điều đã tốt để trở nên tốt hơn. Việc mang lại ý nghĩa cho người khác thực sự là một điều mà tôi khó lòng tranh cãi hay bỏ qua.