Tambahkan sumber data streaming ke Layanan Terkelola untuk Apache Flink - Layanan Terkelola untuk Apache Flink

Amazon Managed Service untuk Apache Flink sebelumnya dikenal sebagai Amazon Kinesis Data Analytics untuk Apache Flink.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tambahkan sumber data streaming ke Layanan Terkelola untuk Apache Flink

Apache Flink menyediakan konektor untuk membaca dari file, soket, koleksi, dan sumber kustom. Dalam kode aplikasi Anda, Anda menggunakan sumber Apache Flink untuk menerima data dari aliran. Bagian ini menjelaskan sumber yang tersedia untuk layanan Amazon.

Gunakan aliran data Kinesis

Sumber KinesisStreamsSource menyediakan data streaming ke aplikasi Anda dari Amazon Kinesis data stream.

Buat KinesisStreamsSource

Contoh kode berikut mendemonstrasikan pembuatan KinesisStreamsSource:

// Configure the KinesisStreamsSource Configuration sourceConfig = new Configuration(); sourceConfig.set(KinesisSourceConfigOptions.STREAM_INITIAL_POSITION, KinesisSourceConfigOptions.InitialPosition.TRIM_HORIZON); // This is optional, by default connector will read from LATEST // Create a new KinesisStreamsSource to read from specified Kinesis Stream. KinesisStreamsSource<String> kdsSource = KinesisStreamsSource.<String>builder() .setStreamArn("arn:aws:kinesis:us-east-1:123456789012:stream/test-stream") .setSourceConfig(sourceConfig) .setDeserializationSchema(new SimpleStringSchema()) .setKinesisShardAssigner(ShardAssignerFactory.uniformShardAssigner()) // This is optional, by default uniformShardAssigner will be used. .build();

Untuk informasi selengkapnya tentang penggunaanKinesisStreamsSource, lihat Konektor Amazon Kinesis Data Streams dalam dokumentasi Apache Flink dan KinesisConnectors contoh publik kami di Github.

Buat KinesisStreamsSource yang menggunakan EFO konsumen

KinesisStreamsSourceSekarang mendukung Enhanced Fan-Out () EFO.

Jika konsumen Kinesis menggunakanEFO, layanan Kinesis Data Streams memberikan bandwidth khusus sendiri, daripada memiliki konsumen berbagi bandwidth tetap dari aliran dengan konsumen lain yang membaca dari aliran.

Untuk informasi lebih lanjut tentang penggunaan EFO dengan konsumen Kinesis, lihat FLIP-128: Enhanced Fan Out untuk Konsumen AWS Kinesis.

Anda mengaktifkan EFO konsumen dengan menetapkan parameter berikut pada konsumen Kinesis:

  • READER_TYPE: Setel parameter ini EFOagar aplikasi Anda menggunakan EFO konsumen untuk mengakses data Kinesis Data Stream.

  • EFO_ CONSUMER _NAME: Setel parameter ini ke nilai string yang unik di antara konsumen aliran ini. Menggunakan kembali nama konsumen di Kinesis Data Stream yang sama akan menyebabkan konsumen sebelumnya yang menggunakan nama tersebut dihentikan.

Untuk KinesisStreamsSource mengkonfigurasi penggunaanEFO, tambahkan parameter berikut ke konsumen:

sourceConfig.set(KinesisSourceConfigOptions.READER_TYPE, KinesisSourceConfigOptions.ReaderType.EFO); sourceConfig.set(KinesisSourceConfigOptions.EFO_CONSUMER_NAME, "my-flink-efo-consumer");

Untuk contoh aplikasi Managed Service for Apache Flink yang menggunakan EFO konsumen, lihat contoh Konektor Kinesis publik kami di Github.

Gunakan Amazon MSK

KafkaSourceSumber menyediakan data streaming ke aplikasi Anda dari MSK topik Amazon.

Buat KafkaSource

Contoh kode berikut mendemonstrasikan pembuatan KafkaSource:

KafkaSource<String> source = KafkaSource.<String>builder() .setBootstrapServers(brokers) .setTopics("input-topic") .setGroupId("my-group") .setStartingOffsets(OffsetsInitializer.earliest()) .setValueOnlyDeserializer(new SimpleStringSchema()) .build(); env.fromSource(source, WatermarkStrategy.noWatermarks(), "Kafka Source");

Untuk informasi selengkapnya tentang cara menggunakan KafkaSource, lihat MSKReplikasi.