Tạo pipeline dữ liệu trên Mage một cách dễ dàng!
Table of Contents
- Giới thiệu về Mage
- Cài đặt và cấu hình Mage trên máy cục bộ
- Tạo pipeline dữ liệu từ API đến PostgreSQL
- Sử dụng Data Loader để tiêu thụ dữ liệu từ API
- Sử dụng Transformer để biến đổi dữ liệu
- Sử dụng Data Exporter để xuất dữ liệu vào PostgreSQL
- Kiểm tra dữ liệu đã được nhập vào PostgreSQL
- Quy trình hoạt động của pipeline dữ liệu trên Mage
- Chạy thủ công và đặt lịch chạy pipeline trên Mage
- Kết luận
Sử dụng Mage để tạo pipeline dữ liệu từ API đến PostgreSQL 💡
Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng Mage - một nền tảng mã nguồn mở mạnh mẽ cho việc tích hợp, đồng bộ dữ liệu từ các nguồn bên thứ ba. Chúng ta sẽ tạo một pipeline dữ liệu cơ bản từ việc đọc dữ liệu từ một API, áp dụng các biến đổi đơn giản và sau đó lưu trữ vào cơ sở dữ liệu PostgreSQL. Hãy cùng khám phá cách tạo một pipeline dữ liệu hoạt động trên Mage một cách nhanh chóng và dễ dàng.
1. Giới thiệu về Mage
Mage là một nền tảng mã nguồn mở mới trong ngành, cho phép bạn tích hợp và đồng bộ dữ liệu từ các nguồn bên thứ ba. Bạn có thể xây dựng pipeline dữ liệu theo thời gian thực và theo lô để biến đổi dữ liệu bằng cách sử dụng Python, R và SQL. Mage cũng cung cấp khả năng quản lý quy trình làm việc và điều phối pipeline dữ liệu một cách mạnh mẽ.
2. Cài đặt và cấu hình Mage trên máy cục bộ
Trước khi bắt đầu, bạn cần cài đặt Docker trên máy tính của mình để có thể sử dụng Mage dễ dàng. Sau đó, bạn có thể cài đặt và cấu hình Mage bằng pip hoặc Docker. Hãy làm theo hướng dẫn trong tài liệu cài đặt để thiết lập Mage trên máy cục bộ của bạn.
3. Tạo pipeline dữ liệu từ API đến PostgreSQL
Để tạo một pipeline dữ liệu từ API đến PostgreSQL trên Mage, bạn cần đi qua ba bước chính:
3.1. Tiêu thụ dữ liệu từ API bằng Data Loader
Đầu tiên, chúng ta cần tiêu thụ dữ liệu từ API. Điều này có thể được thực hiện bằng cách sử dụng Data Loader block trên Mage. Chúng tôi cung cấp API cho dữ liệu về các nhà hàng, và bạn có thể truy cập vào API đó để lấy dữ liệu. Đặt tên cho Data Loader block này là "data từ API" và cung cấp URL API trong code function.
def code_function():
api_url = "your_api_url_here"
data = fetch_data(api_url)
return data
3.2. Biến đổi dữ liệu bằng Transformer
Tiếp theo, chúng ta cần biến đổi dữ liệu nhận được từ API. Sử dụng Transformer block trên Mage để thực hiện các biến đổi dữ liệu. Ví dụ, chúng ta có thể áp dụng một bộ lọc để chỉ lấy các nhà hàng có xếp hạng trên 3.
def code_function():
transformed_data = filter_data(data, lambda x: x['rating'] > 3)
return transformed_data
3.3. Xuất dữ liệu vào PostgreSQL bằng Data Exporter
Cuối cùng, chúng ta cần xuất dữ liệu đã biến đổi vào cơ sở dữ liệu PostgreSQL. Sử dụng Data Exporter block trên Mage để truy vấn dữ liệu từ Upstream và đổ vào PostgreSQL. Yêu cầu cung cấp thông tin kết nối và SQL statement để thực hiện việc này.
connection_info = {
"host": "your_host",
"port": "your_port",
"username": "your_username",
"password": "your_password",
"database": "your_database"
}
sql_statement = "INSERT INTO your_table_name (column1, column2, ...) VALUES (?, ?, ...)"
execute_sql(connection_info, sql_statement, transformed_data)
4. Kiểm tra dữ liệu đã được nhập vào PostgreSQL
Sau khi chạy pipeline dữ liệu, bạn có thể kiểm tra xem dữ liệu đã được nhập vào PostgreSQL chưa. Sử dụng câu truy vấn SQL SELECT để kiểm tra số lượng bản ghi và xem dữ liệu.
SELECT COUNT(*) FROM your_table_name;
SELECT * FROM your_table_name LIMIT 10;
5. Quy trình hoạt động của pipeline dữ liệu trên Mage
Pipeline dữ liệu trên Mage hoạt động theo mô hình luồng dữ liệu. Các block được kết nối với nhau để thực hiện từng bước trong quy trình. Bạn có thể kiểm tra mô hình luồng dữ liệu và kiểm soát việc chạy pipeline một cách thủ công hoặc lên lịch trên Mage.
6. Kết luận
Trong bài viết này, chúng ta đã tìm hiểu cách sử dụng Mage để tạo một pipeline dữ liệu từ API đến PostgreSQL. Chúng ta đã đi qua các bước cài đặt và cấu hình Mage, sử dụng Data Loader để tiêu thụ dữ liệu từ API, sử dụng Transformer để biến đổi dữ liệu và sử dụng Data Exporter để xuất dữ liệu vào PostgreSQL. Bạn cũng đã biết cách kiểm tra dữ liệu đã được nhập vào PostgreSQL và quản lý việc chạy pipeline trên Mage. Hy vọng bạn đã tìm thấy bài viết này hữu ích và có thể áp dụng kiến thức đã học vào các dự án của mình.
FAQs
Q: Mage có hỗ trợ các nguồn dữ liệu nào khác ngoài API không?
A: Có, Mage hỗ trợ tích hợp và đồng bộ dữ liệu từ các nguồn bên thứ ba khác nhau như cơ sở dữ liệu, tệp tin, hẹn giờ và nhiều hơn nữa.
Q: Tôi có thể chạy pipeline dữ liệu trên Mage theo lịch trình không?
A: Có, bạn có thể lên lịch chạy pipeline dữ liệu theo thời gian bạn muốn trên Mage.