1. Giới thiệu
Luồng dữ liệu Google Cloud
Lần cập nhật gần đây nhất: năm 2020 – tháng 5 năm 2020
Dataflow là gì?
Dataflow là một dịch vụ được quản lý để thực thi nhiều mẫu xử lý dữ liệu. Tài liệu trên trang web này cho bạn biết cách triển khai quy trình xử lý dữ liệu hàng loạt và truyền trực tuyến bằng Dataflow, bao gồm cả hướng dẫn sử dụng các tính năng dịch vụ.
Apache Beam SDK là một mô hình lập trình nguồn mở cho phép bạn phát triển cả quy trình hàng loạt và quy trình phát trực tuyến. Bạn tạo quy trình bằng chương trình Apache Beam, sau đó chạy quy trình trên dịch vụ Dataflow. Tài liệu về Apache Beam cung cấp thông tin khái niệm chuyên sâu và tài liệu tham khảo cho mô hình lập trình Apache Beam, SDK và các trình chạy khác.
Phân tích dữ liệu truyền trực tuyến với tốc độ nhanh
Dataflow giúp phát triển quy trình dữ liệu truyền trực tuyến nhanh chóng và đơn giản với độ trễ dữ liệu thấp hơn.
Đơn giản hoá việc vận hành và quản lý
Cho phép các nhóm tập trung vào việc lập trình thay vì quản lý các cụm máy chủ, vì phương pháp không máy chủ của Dataflow giúp loại bỏ chi phí vận hành khỏi các tải công việc về kỹ thuật dữ liệu.
Giảm tổng chi phí sở hữu
Phương pháp tự động cấp tài nguyên kết hợp với khả năng xử lý hàng loạt để tối ưu hoá chi phí có nghĩa là Dataflow cung cấp dung lượng gần như vô hạn để quản lý các khối lượng công việc tăng đột biến theo mùa mà không chi tiêu quá mức.
Các tính năng chính
Quản lý tài nguyên tự động và cân bằng công việc một cách linh hoạt
Dataflow tự động hoá việc cấp phép và quản lý tài nguyên xử lý để giảm thiểu độ trễ và tối đa hoá việc sử dụng. Nhờ đó, bạn không cần phải tạo bản sao hoặc đặt trước các bản sao theo cách thủ công. Việc phân chia công việc cũng được tự động hoá và tối ưu hoá để tự động cân bằng lại công việc bị trễ. Không cần phải theo đuổi "phím nóng" hoặc xử lý trước dữ liệu đầu vào.
Tự động cấp tài nguyên bổ sung theo chiều ngang
Việc tự động cấp tài nguyên bổ sung theo chiều ngang cho tài nguyên của worker theo chiều ngang để đạt công suất tối ưu, giúp cải thiện hiệu suất tổng thể.
Đặt giá lên lịch cho tài nguyên linh hoạt để xử lý hàng loạt
Để xử lý linh hoạt trong thời gian lên lịch công việc, chẳng hạn như các công việc qua đêm, tính năng lập lịch tài nguyên linh hoạt (FlexRS) đưa ra mức giá thấp hơn khi xử lý hàng loạt. Các công việc linh hoạt này được đưa vào hàng đợi với đảm bảo rằng chúng sẽ được truy xuất để thực thi trong khoảng thời gian 6 giờ.
Bạn sẽ chạy chương trình nào trong quá trình này
Trong lớp học lập trình này, bạn sẽ bắt đầu sử dụng SQL của Dataflow bằng cách gửi một câu lệnh SQL thông qua giao diện người dùng SQL của Dataflow. Sau đó, bạn sẽ khám phá quy trình đang chạy bằng cách sử dụng giao diện người dùng giám sát Dataflow.
Kiến thức bạn sẽ học được
- Cách gửi câu lệnh SQL dưới dạng một công việc Dataflow trong giao diện người dùng Dataflow SQL.
- Cách chuyển đến Quy trình Dataflow.
- Khám phá biểu đồ Dataflow được tạo bằng câu lệnh SQL.
- Khám phá thông tin giám sát mà biểu đồ cung cấp.
Bạn cần có
- Một dự án Google Cloud Platform đã bật tính năng Thanh toán.
- Đã bật Google Cloud Dataflow và Google Cloud PubSub.
2. Thiết lập
Đảm bảo rằng bạn đã bật Dataflow API và Cloud Pub/Sub API. Bạn có thể xác minh điều này bằng cách kiểm tra trên Dịch vụ.
3. Truy cập vào giao diện người dùng SQL của Dataflow
Giao diện người dùng SQL của Dataflow là một chế độ cài đặt giao diện người dùng web BigQuery để tạo các công việc bằng SQL trong Dataflow. Bạn có thể truy cập vào giao diện người dùng SQL của Dataflow từ giao diện người dùng web BigQuery.
- Truy cập vào giao diện người dùng web BigQuery.
- Chuyển sang công cụ Cloud Dataflow.
- Nhấp vào trình đơn thả xuống Thêm, rồi chọn Cài đặt cụm từ tìm kiếm.
- Trong trình đơn Cài đặt truy vấn, hãy chọn Công cụ Dataflow.
- Trong lời nhắc xuất hiện nếu Dataflow và Data Catalog API chưa được bật, hãy nhấp vào Bật API.
- Nhấp vào Lưu.
Bạn cũng có thể truy cập vào giao diện người dùng SQL của Dataflow từ giao diện giám sát Dataflow.
- Chuyển đến giao diện giám sát Dataflow.
- Nhấp vào Tạo công việc từ SQL.
4. Chạy tác vụ Dataflow bằng truy vấn SQL
Viết truy vấn SQL của Dataflow
Các truy vấn SQL của Dataflow sử dụng cú pháp truy vấn SQL của Dataflow. Cú pháp truy vấn SQL của Dataflow tương tự như SQL chuẩn của BigQuery. Bạn có thể sử dụng tiện ích truyền trực tuyến Dataflow SQL để tổng hợp dữ liệu bằng cách liên tục cập nhật các nguồn Dataflow như Pub/Sub. Ví dụ: truy vấn sau đây tính số hành khách trong luồng Pub/Sub đi taxi mỗi phút:
SELECT
TUMBLE_START('INTERVAL 1 MINUTE') as period_start,
SUM(passenger_count) AS pickup_count
FROM pubsub.topic.`pubsub-public-data`.`taxirides-realtime`
WHERE
ride_status = "pickup"
GROUP BY
TUMBLE(event_timestamp, 'INTERVAL 1 MINUTE')
Chạy truy vấn SQL của Dataflow
Khi bạn chạy truy vấn SQL của Dataflow, Dataflow sẽ chuyển truy vấn đó thành một quy trình Apache Beam và thực thi quy trình đó.
Bạn có thể chạy truy vấn SQL của Dataflow bằng Cloud Console hoặc công cụ dòng lệnh gcloud.
Để chạy truy vấn SQL của Dataflow, hãy sử dụng giao diện người dùng SQL Dataflow.
- Chuyển đến giao diện người dùng SQL của Dataflow.
- Nhập truy vấn SQL của Dataflow ở trên vào trình chỉnh sửa truy vấn.
- Nhấp vào công việc Tạo luồng dữ liệu đám mây để mở bảng điều khiển các lựa chọn công việc.
- (Không bắt buộc) Nhấp vào Hiển thị các thông số không bắt buộc và duyệt qua danh sách.
- Trong mục Đích đến của bảng điều khiển, hãy chọn BigQuery làm Loại đầu ra.
- Chọn Mã tập dữ liệu rồi tạo tên bảng "passengers_per_min"
- Nhấp vào Tạo.
Để biết thêm thông tin về cách truy vấn dữ liệu và ghi kết quả truy vấn SQL Dataflow, hãy xem bài viết Sử dụng SQL của Dataflow.
5. Khám phá công việc trên giao diện người dùng Giám sát luồng dữ liệu
Khi thực thi quy trình bằng dịch vụ do Dataflow quản lý, bạn có thể xem công việc đó và bất kỳ công việc nào khác bằng cách sử dụng giao diện người dùng giám sát dựa trên nền tảng web của Dataflow. Giao diện giám sát cho phép bạn xem và tương tác với các công việc Dataflow.
Bạn có thể dùng Google Cloud Console để truy cập vào giao diện giám sát của Dataflow. Giao diện giám sát có thể cho bạn biết:
- Danh sách tất cả công việc Dataflow hiện đang chạy và từng chạy công việc trong vòng 30 ngày qua.
- Hình minh hoạ từng quy trình.
- Thông tin chi tiết về trạng thái, quá trình thực thi và phiên bản SDK của công việc.
- Đường liên kết đến thông tin về các dịch vụ của Google Cloud đang chạy quy trình của bạn, chẳng hạn như Compute Engine và Cloud Storage.
- Mọi lỗi hoặc cảnh báo xảy ra trong khi thực hiện công việc.
Bạn có thể xem biểu đồ giám sát công việc trong giao diện giám sát Dataflow. Những biểu đồ này hiển thị các chỉ số trong suốt thời gian thực hiện quy trình và bao gồm những thông tin sau:
- Chế độ hiển thị ở cấp bước giúp xác định những bước có thể gây ra độ trễ của quy trình.
- Thông tin thống kê có thể cho thấy hành vi bất thường.
- Các chỉ số I/O có thể giúp xác định điểm tắc nghẽn trong các nguồn và bồn lưu trữ dữ liệu của bạn.
Truy cập vào giao diện giám sát Dataflow
Để truy cập vào giao diện giám sát Dataflow, hãy làm theo các bước sau:
- Chuyển đến Cloud Console:
- Chọn dự án của bạn trong Google Cloud.
- Nhấp vào trình đơn ở góc trên bên trái.
- Chuyển đến mục Dữ liệu lớn và nhấp vào Dataflow.
Danh sách công việc Dataflow sẽ xuất hiện cùng với trạng thái của chúng.
Danh sách công việc Dataflow trong Cloud Console có các công việc ở trạng thái Đang chạy, Không thành công và Thành công.
Một công việc có thể có các trạng thái sau:
- —: giao diện người dùng giám sát chưa nhận được trạng thái từ dịch vụ Dataflow.
- Đang chạy: công việc hiện đang chạy.
- Chưa bắt đầu: công việc đã được tạo nhưng hệ thống cần chút thời gian để chuẩn bị trước khi chạy.
- Đã đưa vào hàng đợi: một công việc FlexRS đã được đưa vào hàng đợi.
- Đang huỷ...: công việc đang bị huỷ.
- Đã huỷ: công việc đã bị người dùng huỷ.
- Đang thoát nước...: công việc đang rút cạn.
- Đã hết công việc: người dùng đã làm hết công việc.
- Đang cập nhật...: công việc đang được cập nhật.
- Đã cập nhật: người dùng đã cập nhật công việc.
- Thành công: công việc đã kết thúc thành công.
- Không thành công: công việc không hoàn tất được.
Tìm công việc bằng "dfsql" như một phần của chức danh và nhấp vào tên công việc.
Trang Chi tiết việc làm chứa những nội dung sau:
- Sơ đồ công việc: bản trình bày trực quan về quy trình của bạn
- Chỉ số công việc: chỉ số về thực hiện công việc của bạn
- Bảng thông tin việc làm: thông tin mô tả về quy trình của bạn
- Nhật ký công việc: nhật ký do dịch vụ Dataflow tạo ở cấp công việc
- Nhật ký trình thực thi: nhật ký do dịch vụ Dataflow tạo ở cấp trình thực thi
- Báo cáo lỗi công việc: các biểu đồ cho thấy vị trí xảy ra lỗi trong tiến trình đã chọn và số lượng tất cả lỗi đã ghi lại
- Bộ chọn thời gian: công cụ giúp bạn điều chỉnh khoảng thời gian của các chỉ số
Trên trang Chi tiết việc làm, bạn có thể chuyển đổi chế độ xem việc làm bằng cách sử dụng thẻ Sơ đồ việc làm và thẻ Chỉ số về việc làm.
- Nhấp vào thẻ CHỈ SỐ CÔNG VIỆC và khám phá các biểu đồ
6. Dừng công việc SQL trên Dataflow
Để dừng các công việc SQL trong Dataflow, hãy sử dụng lệnh Huỷ. Hệ thống không hỗ trợ việc dừng công việc SQL Dataflow bằng Drain.