Quay lại bộ đề
Question #83 Topic 1
Your company receives both batch- and stream-based event data. You want to process the data using Google Cloud Dataflow over a predictable time period.However, you realize that in some instances data can arrive late or out of order. How should you design your Cloud Dataflow pipeline to handle data that is late or out of order?
Công ty của bạn nhận cả dữ liệu sự kiện dạng lô (batch) và dạng luồng (stream). Bạn muốn xử lý dữ liệu bằng Google Cloud Dataflow trong một khoảng thời gian có thể dự đoán được. Tuy nhiên, bạn nhận thấy rằng trong một số trường hợp, dữ liệu có thể đến muộn hoặc không theo thứ tự. Bạn nên thiết kế pipeline Cloud Dataflow của mình như thế nào để xử lý dữ liệu đến muộn hoặc không theo thứ tự?
A
Set a single global window to capture all the data.
Đặt một cửa sổ toàn cục duy nhất (global window) để thu thập tất cả dữ liệu.
B
Set sliding windows to capture all the lagged data.
Đặt các cửa sổ trượt (sliding windows) để thu thập tất cả dữ liệu bị trễ.
C
Use watermarks and timestamps to capture the lagged data.
Sử dụng mực nước (watermarks) và dấu thời gian (timestamps) để thu thập dữ liệu bị trễ.
D
Ensure every datasource type (stream or batch) has a timestamp, and use the timestamps to define the logic for lagged data.
Đảm bảo mọi loại nguồn dữ liệu (luồng hoặc lô) đều có dấu thời gian và sử dụng các dấu thời gian đó để xác định logic cho dữ liệu bị trễ.
Giải thích & Tài liệu tham khảo
Để xử lý dữ liệu đến muộn (late data) và không đúng thứ tự (out of order data) trong Cloud Dataflow (dựa trên Apache Beam), bạn cần có cơ chế quản lý thời gian sự kiện (event time) thay vì thời gian xử lý (processing time).
- C là đáp án đúng: Sự kết hợp giữa dấu thời gian (timestamps - ghi nhận thời điểm sự kiện thực sự xảy ra) và mực nước (watermarks - thước đo thời gian ước lượng khi nào tất cả dữ liệu của một thời điểm cụ thể đã đến hệ thống) cho phép Dataflow theo dõi tiến trình và xử lý chính xác dữ liệu bị trễ thông qua các chính sách kích hoạt (triggers) và độ trễ cho phép (allowed lateness).
- A không đúng: Cửa sổ toàn cục (global window) gom tất cả dữ liệu lại và không giúp ích cho việc xử lý theo các khoảng thời gian có thể dự đoán được.
- B không đúng: Cửa sổ trượt chỉ xác định phạm vi gom nhóm dữ liệu theo thời gian, bản thân nó không có cơ chế xử lý dữ liệu đến muộn sau khi cửa sổ đã được chốt.
- D không đúng: Dấu thời gian là cần thiết nhưng chưa đủ. Thiếu khái niệm mực nước (watermarks), hệ thống không thể biết khi nào nên đóng cửa sổ và xử lý dữ liệu trễ như thế nào.
(Đáp án được gợi ý bởi AI)