Xây dựng quy trình truyền liên tục toàn diện bằng Kế hoạch chi tiết của Dịch vụ được quản lý của Amazon dành cho Apache Flink chỉ với một cú nhấp chuột. Tìm hiểu thêm.
Thông tin chung
Phân tích tương tác giúp bạn truyền phát việc khám phá dữ liệu theo thời gian thực. Với các truy vấn hoặc chương trình đặc thù, bạn có thể kiểm tra các luồng từ Amazon MSK hoặc Luồng dữ liệu Amazon Kinesis và trực quan hóa dữ liệu trong các luồng đó. Ví dụ: bạn có thể xem một số liệu tính toán ra giá trị trung bình trong một khoảng thời gian theo thời gian thực hoạt động như thế nào, sau đó, gửi số liệu tổng hợp được đến đích bạn chọn. Phân tích tương tác cũng hữu ích trong việc phát triển lặp lại của các ứng dụng xử lý luồng. Các truy vấn mà bạn xây dựng sẽ cập nhật liên tục khi có dữ liệu mới đến. Với Studio Dịch vụ được quản lý của Amazon dành cho Apache Flink, bạn có thể triển khai các truy vấn này để chúng chạy liên tục cùng với tính năng tự động điều chỉnh quy mô và sao lưu trạng thái bền vững đã bật.
Bắt đầu
Dịch vụ được quản lý của Amazon dành cho Apache Flink có thể điều chỉnh quy mô linh hoạt cho ứng dụng của bạn sao cho phù hợp với thông lượng dữ liệu của luồng nguồn cũng như độ phức tạp của truy vấn trong hầu hết các tình huống. Để biết thông tin chi tiết về giới hạn dịch vụ đối với các ứng dụng Apache Flink, hãy truy cập phần Giới hạn trong Hướng dẫn dành cho nhà phát triển về Dịch vụ được quản lý của Amazon dành cho Apache Flink.
Có, bằng cách sử dụng Bộ kết nối DataStream của Apache Flink, các ứng dụng thuộc Dịch vụ được quản lý của Amazon dành cho Apache Flink có thể sử dụng Sổ đăng ký lược đồ AWS Glue, một tính năng phi máy chủ của AWS Glue. Bạn có thể tích hợp Apache Kafka, Amazon MSK và Luồng dữ liệu Amazon Kinesis dưới dạng nơi gom dữ liệu hoặc nguồn dữ liệu, với khối lượng công việc Dịch vụ được quản lý của Amazon dành cho Apache Flink. Truy cập Hướng dẫn sử dụng Sổ đăng ký lược đồ của AWS Glue dành cho nhà phát triển để bắt đầu và tìm hiểu thêm.
Khái niệm chính
- Đầu vào: Đầu vào là nguồn truyền liên tục cho ứng dụng của bạn. Trong cấu hình đầu vào, bạn ánh xạ các nguồn truyền liên tục tới các luồng dữ liệu. Dữ liệu được truyền từ nguồn dữ liệu vào luồng dữ liệu. Bạn xử lý dữ liệu từ những luồng dữ liệu này bằng mã ứng dụng, sau đó gửi dữ liệu đã xử lý tới các luồng dữ liệu hoặc đích đến tiếp theo. Bạn thêm các đầu vào vào trong mã ứng dụng dành cho các ứng dụng Apache Flink và sổ tay Studio và thông qua API cho các ứng dụng thuộc Dịch vụ được quản lý của Amazon dành cho Apache Flink.
- Mã ứng dụng: Mã ứng dụng là một loạt các toán tử của Apache Flink có chức năng xử lý đầu vào và tạo ra đầu ra. Ở dạng tối giản, mã ứng dụng có thể là một toán tử Apache Flink đơn lẻ, đọc từ luồng dữ liệu có liên kết bằng một nguồn truyền liên tục và ghi vào một luồng dữ liệu khác có liên kết bằng đầu ra. Đối với sổ tay Studio, đây có thể là một truy vấn lựa chọn Flink SQL đơn giản, trong đó kết quả được hiển thị trong ngữ cảnh được giới hạn trong sổ tay. Bạn có thể viết mã Apache Flink bằng các ngôn ngữ được hỗ trợ cho các ứng dụng thuộc Dịch vụ được quản lý của Amazon dành cho Apache Flink hoặc sổ tay Studio.
- Đầu ra: Sau đó, bạn có thể tùy ý cấu hình cho dữ liệu đầu ra của ứng dụng để lưu trữ lâu dài dữ liệu này tới đích đến bên ngoài. Bạn thêm các đầu ra này vào trong mã ứng dụng dành cho các ứng dụng của Dịch vụ được quản lý của Amazon dành cho Apache Flink và sổ tay Studio.
Câu hỏi: Mã ứng dụng nào được hỗ trợ?
Quản lý các ứng dụng
- Giám sát Dịch vụ được quản lý của Amazon dành cho Apache Flink trong Hướng dẫn dành cho nhà phát triển về Dịch vụ được quản lý của Amazon dành cho Apache Flink.
- Giám sát Dịch vụ được quản lý của Amazon dành cho Apache Flink trong Hướng dẫn dành cho nhà phát triển về Studio Dịch vụ được quản lý của Amazon dành cho Apache Flink.
Câu hỏi: Làm thế nào để tôi quản lý và kiểm soát quyền truy cập vào các ứng dụng thuộc Dịch vụ được quản lý của Amazon dành cho Apache Flink?
- Cấp quyền trong Hướng dẫn dành cho nhà phát triển về Dịch vụ được quản lý của Amazon dành cho Apache Flink.
- Cấp quyền trong Hướng dẫn dành cho nhà phát triển về Studio Dịch vụ được quản lý của Amazon dành cho Apache Flink.
Câu hỏi: Dịch vụ được quản lý của Amazon dành cho Apache Flink điều chỉnh quy mô ứng dụng của tôi như thế nào?
Dịch vụ được quản lý của Amazon dành cho Apache Flink có thể điều chỉnh quy mô linh hoạt cho ứng dụng của bạn sao cho phù hợp với thông lượng dữ liệu của luồng nguồn cũng như độ phức tạp của truy vấn trong hầu hết các tình huống. Dịch vụ được quản lý của Amazon dành cho Apache Flink cung cấp dung lượng dưới dạng các KPU Amazon. Một KPU cung cấp cho bạn 1 vCPU và bộ nhớ 4 GB.
Định giá và thanh toán
Bạn bị tính phí theo mức phí theo giờ dựa trên số lượng KPU Amazon dùng để chạy ứng dụng truyền liên tục của bạn. Một KPU là một đơn vị công suất xử lý truyền liên tục, bao gồm khả năng điện toán 1 vCPU và bộ nhớ 4 GB. Dịch vụ được quản lý của Amazon dành cho Apache Flink tự động điều chỉnh số KPU cần thiết cho ứng dụng xử lý truyền liên tục của bạn khi nhu cầu của bộ nhớ và điện toán thay đổi theo độ phức tạp khi xử lý và thông lượng dữ liệu truyền liên tục được xử lý.
Xây dựng các ứng dụng Apache Flink
Tạo mã ứng dụng cho các ứng dụng sử dụng Apache Flink trong IDE của bạn
DataStream <GameEvent> rawEvents = env.addSource(
New KinesisStreamSource(“input_events”));
DataStream <UserPerLevel> gameStream =
rawEvents.map(event - > new UserPerLevel(event.gameMetadata.gameId,
event.gameMetadata.levelId,event.userId));
gameStream.keyBy(event -> event.gameId)
.keyBy(1)
.window(TumblingProcessingTimeWindows.of(Time.minutes(1)))
.apply(...) - > {...};
gameStream.addSink(new KinesisStreamSink("myGameStateStream"));
Bạn có thể xây dựng toán tử tùy chỉnh nếu những toán tử này không đáp ứng được nhu cầu của bạn. Bạn có thể xem thêm ví dụ trong phần Toán tử của Hướng dẫn dành cho nhà phát triển về Dịch vụ được quản lý của Amazon dành cho Apache Flink. Bạn có thể tìm thấy danh sách đầy đủ các toán tử Apache Flink trong tài liệu Apache Flink.
- Nguồn dữ liệu truyền liên tục: Dịch vụ truyền được quản lý của Amazon dành cho Apache Kafka (Amazon MSK), Đích đến Luồng dữ liệu Amazon Kinesis hoặc nơi gom dữ liệu: Luồng dữ liệu Amazon Kinesis
- Firehose dữ liệu Amazon Kinesis, Amazon DynamoDB, Dịch vụ Elasticsearch của Amazon và Amazon S3 (thông qua tích hợp nơi gom tệp)
Hỏi: Các ứng dụng của Dịch vụ được quản lý của Amazon dành cho Apache Flink có thể sao chép dữ liệu qua các luồng và chủ đề không?
Xây dựng các ứng dụng Studio Dịch vụ được quản lý của Amazon dành cho Apache Flink trong một sổ tay được quản lý
Câu hỏi: Làm thế nào để tôi phát triển một ứng dụng Studio?
Bạn có thể bắt đầu từ Studio Dịch vụ được quản lý của Amazon dành cho Apache Flink, Luồng dữ liệu Amazon Kinesis hoặc bảng điều khiển Amazon MSK chỉ bằng một vài bước để khởi chạy sổ tay phi máy chủ nhằm truy vấn luồng dữ liệu và thực hiện phân tích dữ liệu tương tác ngay lập tức.
Phân tích dữ liệu tương tác: Bạn có thể viết mã vào sổ tay bằng SQL, Python hoặc Scala để tương tác với dữ liệu truyền liên tục của mình, trong đó thời gian phản hồi truy vấn chỉ mất vài giây. Bạn có thể sử dụng các hình ảnh trực quan hóa sẵn có để khám phá dữ liệu, xem thông tin chuyên sâu theo thời gian thực về dữ liệu truyền liên tục của mình từ trong sổ tay, đồng thời phát triển các ứng dụng xử lý luồng được Apache Flink hỗ trợ.
Khi mã của bạn đã sẵn sàng để chạy như một ứng dụng sản xuất, bạn có thể chuyển đổi thành ứng dụng xử lý có khả năng xử lý hàng gigabyte dữ liệu mỗi giây chỉ với một bước duy nhất và không cần đến máy chủ.
Ứng dụng xử lý luồng: Khi bạn đã sẵn sàng đưa mã của mình vào sản xuất, bạn có thể xây dựng mã của mình bằng cách nhấp vào “Triển khai dưới dạng ứng dụng xử lý luồng” trong giao diện sổ tay hoặc đưa ra một lệnh duy nhất trong CLI. Studio đảm nhiệm tất cả việc quản lý cơ sở hạ tầng cần thiết để bạn chạy ứng dụng xử lý luồng trên quy mô lớn, với tính năng tự động điều chỉnh quy mô và trạng thái bền vững được bật, giống như trong ứng dụng của Dịch vụ được quản lý của Amazon dành cho Apache Flink.
Câu hỏi: Mã ứng dụng của tôi trông như thế nào?
Bạn có thể viết mã trong sổ tay bằng ngôn ngữ tùy chọn như SQL, Python hoặc Scala bằng cách sử dụng API bảng của Apache Flink. API bảng là một API quan hệ và trừu tượng tổng quan, hỗ trợ một tập hợp các tính năng của SQL. API này cung cấp các thao tác quen thuộc, chẳng hạn như chọn, lọc, kết hợp, nhóm theo, tổng hợp, v.v. cùng với các khái niệm dành riêng cho luồng, chẳng hạn như tạo cửa sổ. Bạn sử dụng % để chỉ định ngôn ngữ sẽ được sử dụng trong một phần của sổ tay và có thể chuyển đổi giữa các ngôn ngữ. Trình thông dịch là các plugin của Apache Zeppelin, vì vậy bạn có thể chỉ định một ngôn ngữ hoặc công cụ xử lý dữ liệu cho từng phần trong sổ tay. Bạn cũng có thể xây dựng các hàm do người dùng xác định và tham chiếu chúng để cải thiện chức năng của mã.
Câu hỏi: Những thao tác SQL nào được hỗ trợ?
Bạn có thể thực hiện các thao tác SQL như sau:
- Quét và lọc (SELECT, WHERE)
- Tổng hợp (GROUP BY, GROUP BY WINDOW, HAVING)
- Tập hợp (UNION, UNIONALL, INTERSECT, IN, EXISTS)
- Xếp thứ tự (ORDER BY, LIMIT)
- Kết hợp (INNER, OUTER, Khoảng thời gian — BETWEEN, AND, Kết hợp với các bảng tạm thời — các bảng theo dõi các thay đổi theo thời gian)
- Top-N
- Chống trùng lặp
- Nhận dạng mẫu
Một số truy vấn trong số này, chẳng hạn như GROUP BY, OUTER JOIN và Top-N là kết quả cập nhật cho dữ liệu truyền liên tục, có nghĩa là kết quả được liên tục cập nhật khi dữ liệu truyền liên tục được xử lý. Các câu lệnh DDL khác, chẳng hạn như CREATE, ALTER và DROP, cũng được hỗ trợ. Để xem danh sách đầy đủ các truy vấn và mẫu, hãy tham khảo tài liệu Truy vấn Flink Apache.
Câu hỏi: Python và Scala được hỗ trợ như thế nào?
API bảng của Apache Flink hỗ trợ Python và Scala thông qua tích hợp ngôn ngữ nhờ chuỗi Python và biểu thức Scala. Các thao tác được hỗ trợ cũng rất giống với các thao tác SQL được hỗ trợ, bao gồm chọn, xếp thứ tự, nhóm, kết hợp, lọc và tạo cửa sổ. Trong hướng dẫn dành cho nhà phát triển của chúng tôi có bao gồm danh sách đầy đủ các thao tác và mẫu.
Câu hỏi: Những phiên bản nào của Apache Flink và Apache Zeppelin được hỗ trợ?
Để tìm hiểu thêm về các phiên bản Apache Flink được hỗ trợ, hãy truy cập trang Thông báo phát hành của Dịch vụ được quản lý của Amazon dành cho Apache Flink. Trang này cũng bao gồm các phiên bản Apache Zeppelin, Apache Beam, Java, Scala, Python và AWS SDK mà Dịch vụ được quản lý của Amazon dành cho Apache Flink hỗ trợ.
Câu hỏi: Theo mặc định, những tích hợp nào được hỗ trợ trong một ứng dụng Studio Dịch vụ được quản lý của Amazon dành cho Apache Flink?
- Nguồn dữ liệu: Dịch vụ truyền được quản lý của Amazon dành cho Apache Kafka (Amazon MSK), Luồng dữ liệu Amazon Kinesis, Amazon S3
- Đích đến hoặc nơi gom dữ liệu: Amazon MSK, Luồng dữ liệu Amazon Kinesis và Amazon S3
Câu hỏi: Tích hợp tùy chỉnh có được hỗ trợ không?
Bạn có thể thiết lập cấu hình tích hợp bổ sung chỉ với một vài bước và dòng mã Apache Flink (Python, Scala hoặc Java) để xác định kết nối với tất cả các tích hợp hỗ trợ Apache Flink. Trong đó bao gồm các đích đến như Dịch vụ OpenSearch của Amazon, Amazon ElastiCache dành cho Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces, v.v. Bạn có thể đính kèm tệp thực thi cho các bộ kết nối tùy chỉnh này khi tạo hoặc thiết lập cấu hình của ứng dụng Studio Dịch vụ được quản lý của Amazon dành cho Apache Flink.
Thỏa thuận mức dịch vụ
Câu hỏi: SLA dành cho Dịch vụ được quản lý của Amazon dành cho Apache Flink đảm bảo những gì?
Thỏa thuận mức dịch vụ (SLA) của chúng tôi đảm bảo Tỷ lệ thời gian hoạt động hàng tháng tối thiểu đạt 99,9% đối với Dịch vụ được quản lý của Amazon dành cho Apache Flink.
Hỏi: Làm thế nào để biết tôi có đủ điều kiện nhận Tín dụng dịch vụ SLA hay không?
Bạn đủ điều kiện nhận Tín dụng dịch vụ SLA cho Dịch vụ được quản lý của Amazon dành cho Apache Flink theo SLA của Dịch vụ được quản lý của Amazon dành cho Apache Flink nếu bạn chạy một tác vụ ở nhiều Vùng sẵn sàng, trong cùng một Khu vực AWS, có Tỷ lệ phần trăm thời gian hoạt động hàng tháng dưới 99,9% trong bất kỳ chu kỳ tính phí hàng tháng nào. Để biết đầy đủ chi tiết về tất cả các điều khoản và điều kiện của SLA cũng như chi tiết về cách gửi yêu cầu, hãy truy cập trang chi tiết về SLA của Dịch vụ được quản lý của Amazon dành cho Apache Flink.
Bắt đầu sử dụng Phân tích dữ liệu Amazon Kinesis
Truy cập trang định giá Phân tích dữ liệu Amazon Kinesis.
Tìm hiểu cách sử dụng Phân tích dữ liệu Amazon Kinesis trong hướng dẫn từng bước dành cho SQL hoặc Apache Flink.
Xây dựng ứng dụng truyền liên tục đầu tiên của bạn từ bảng điều khiển của dịch vụ Phân tích dữ liệu Amazon Kinesis.