Quay lại bộ đề
Question #185 Topic 1
You maintain ETL pipelines. You notice that a streaming pipeline running on Dataflow is taking a long time to process incoming data, which causes output delays. You also noticed that the pipeline graph was automatically optimized by Dataflow and merged into one step. You want to identify where the potential bottleneck is occurring. What should you do?
Bạn bảo trì các pipeline ETL. Bạn nhận thấy một pipeline truyền phát (streaming) chạy trên Dataflow đang mất nhiều thời gian để xử lý dữ liệu đến, gây ra hiện tượng trễ đầu ra. Bạn cũng nhận thấy sơ đồ pipeline đã được Dataflow tự động tối ưu hóa và hợp nhất thành một bước duy nhất. Bạn muốn xác định nơi xảy ra nghẽn cổ chai (bottleneck) tiềm ẩn. Bạn nên làm gì?
A
Insert a Reshuffle operation after each processing step, and monitor the execution details in the Dataflow console.
Chèn thêm thao tác Reshuffle sau mỗi bước xử lý và giám sát chi tiết thực thi trong bảng điều khiển Dataflow.
B
Insert output sinks after each key processing step, and observe the writing throughput of each block.
Chèn các sink đầu ra sau mỗi bước xử lý chính và quan sát thông lượng ghi của từng khối.
C
Log debug information in each ParDo function, and analyze the logs at execution time.
Ghi nhật ký (log) thông tin debug trong mỗi hàm ParDo và phân tích các nhật ký này tại thời điểm thực thi.
D
Verify that the Dataflow service accounts have appropriate permissions to write the processed data to the output sinks.
Xác minh tài khoản dịch vụ (service account) Dataflow có quyền thích hợp để ghi dữ liệu đã xử lý vào các sink đầu ra.
Giải thích & Tài liệu tham khảo
Khi Dataflow tự động tối ưu hóa pipeline của bạn, nó sẽ thực hiện kỹ thuật gọi là "fusion" để kết hợp nhiều bước logic (ví dụ các ParDo liên tiếp) vào một bước thực thi duy nhất nhằm tránh việc ghi nhận dữ liệu trung gian và giảm chi phí mạng/IO. Tuy nhiên, việc hợp nhất này khiến bạn khó xác định bước nào trong chuỗi là nguyên nhân gây nghẽn cổ chai vì giao diện giám sát chỉ hiển thị một bước chung.
- A. Chèn thêm thao tác Reshuffle sau mỗi bước xử lý... là cách giải quyết chuẩn xác. Phép toán
Reshuffleđóng vai trò như một ranh giới phá vỡ cơ chế tự động hợp nhất (fusion barrier) của Dataflow. Việc này ngăn cản Dataflow gộp các bước xử lý lại với nhau, từ đó cho phép bạn theo dõi thông số hiệu năng và phát hiện nghẽn cổ chai trên từng bước riêng biệt trong bảng điều khiển Dataflow. - B. Chèn thêm sink đầu ra gây tốn kém tài nguyên không cần thiết và làm thay đổi đáng kể kiến trúc pipeline.
- C. Ghi nhật ký debug trong ParDo trong một pipeline streaming có lượng dữ liệu lớn sẽ sinh ra một lượng log khổng lồ, gây chậm pipeline thêm và tốn chi phí lưu trữ log (Cloud Logging), đồng thời khó phân tích trực quan.
- D. Xác minh quyền ghi của Service Account liên quan đến lỗi bảo mật/không ghi được dữ liệu, không giúp xác định vị trí nghẽn cổ chai của hiệu năng xử lý.
(Đáp án được gợi ý bởi AI)