4.1 Thiết kế các luồng xử lý dữ liệu trên Data Lake
4.1.1 Luồng Ingestion
4.1.1.1 Luồng ingest dữ liệu Online & lưu trữ về hệ thống Data Lake
Hình 4.1
Luồng Ingest dữ liệu Online từ nguồn về DataLake được mô tả như lưu đồ phía trên sẽ gồm có hai phase
Phase 2: Dữ liệu được lấy về và xử lý bởi Spark Streaming, rồi đổ ngược về lưu trên Raw Zone của cụm Hadoop.
4.1.1.2 Luồng ingest dữ liệu theo lô Offline
4.1.1.4 Xử lý dữ liệu Online và đẩy sang vùng hệ thống khác – Kafka
Luồng này bao gồm hai phase.
Phase 1: Download dữ liệu từ nguồn và đổ về Queue chính (hệ thống Kafka) – Tham khảo Phase 1 mục 4.1.1.1
4.1.2 Luồng xử lý dữ liệu lên vùng Gold Zone
read read
read read
ETL jobs
4.1.3 Luồng xử lý dữ liệu lên vùng Sensitive Zone
Phần náy sẽ mô tả luồng tổng hợp dữ liệu cho các bảng trên vùng SENSITIVE ZONE. Nguồn dữ liệu có thể là các bảng trên vùng RAW ZONE, TRUSTED ZONE hoặc GOLD ZONE.
Monitor (Scheduler)
Spark Thrift Servers Spark Server
ETL jobs
write read read
4.1.4 Luồng xử lý dữ liệu lên vùng Trusted Zone
Phần này sẽ mô tả luồng tổng hợp dữ liệu cho các bảng trên vùng TRUSTED ZONE. Nguồn dữ liệu có thể là các bảng trên vùng RAW ZONE hoặc GOLD ZONE.
read
writewrite
Bảng trên TRUSTED ZONE (HBASE)
4.1.5 Đẩy dữ liệu ra hệ thống ngoài
Hệ thống Data Lake cung cấp dữ liệu ra bên ngoài qua 3 kênh chính là FTP, External DB, External Kafka. Dữ liệu nhạy cảm sẽ được mã hóa trước khi đẩy qua các kênh này.
Monitor (Scheduler) writeEncrypt Data
4.1.6 Backup dữ liệu ra hệ thống lưu trữ ngoài
Ngoài cơ sao lưu dự phòng của Hadoop (áp dụng cho tất cả các dữ liệu lưu trữ trên HDFS), hệ thống còn hỗ trợ sao lưu định các bảng dữ liệu quan trọng. Luồng sao lưu được thể hiện trong hình dưới dây:
write Monitor (Scheduler)
read
Local Files
Tiến trình đẩy dữ liệu
Bảng dữ liệu quan trọng Hệ thống lưu trữ TAP
Spark Server