Fügen Sie Streaming-Datenquellen zu Managed Service für Apache Flink hinzu - Managed Service für Apache Flink

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fügen Sie Streaming-Datenquellen zu Managed Service für Apache Flink hinzu

Apache Flink bietet Konnektoren zum Lesen aus Dateien, Sockets, Sammlungen und benutzerdefinierten Quellen. In Ihrem Anwendungscode verwenden Sie eine Apache Flink-Quelle, um Daten aus einem Stream zu empfangen. In diesem Abschnitt werden die Quellen beschrieben, die für Amazon-Services verfügbar sind

Verwenden Sie Kinesis-Datenstreams

Die FlinkKinesisConsumer-Quelle stellt Streaming-Daten aus einem Amazon Kinesis Data Stream für Ihre Anwendung bereit.

Erstellen eines FlinkKinesisConsumer

Das folgende Code-Beispiel zeigt das Erstellen eines FlinkKinesisConsumer:

Properties inputProperties = new Properties(); inputProperties.setProperty(ConsumerConfigConstants.AWS_REGION, region); inputProperties.setProperty(ConsumerConfigConstants.STREAM_INITIAL_POSITION, "LATEST"); DataStream<string> input = env.addSource(new FlinkKinesisConsumer<>(inputStreamName, new SimpleStringSchema(), inputProperties));

Weitere Informationen zur Verwendung von FlinkKinesisConsumer finden Sie unter Laden Sie den Apache Flink-Streaming-Java-Code herunter und untersuchen Sie ihn.

Erstellen Sie eineFlinkKinesisConsumer, die einen EFO Verbraucher verwendet

Der unterstützt FlinkKinesisConsumer jetzt Enhanced Fan-Out (EFO).

Wenn ein Kinesis-Verbraucher verwendetEFO, stellt ihm der Kinesis Data Streams-Dienst seine eigene dedizierte Bandbreite zur Verfügung, anstatt dass der Verbraucher die feste Bandbreite des Streams mit den anderen Verbrauchern teilt, die aus dem Stream lesen.

Weitere Informationen zur Verwendung EFO mit Kinesis Consumer finden Sie unter FLIP-128: Verbesserter Lüfterausgang für AWS Kinesis-Verbraucher.

Sie aktivieren den EFO Consumer, indem Sie die folgenden Parameter für den Kinesis-Consumer festlegen:

  • RECORD_ PUBLISHER _TYPE: Setzen Sie diesen Parameter auf, damit Ihre Anwendung einen EFO Consumer EFOfür den Zugriff auf die Kinesis Data Stream-Daten verwendet.

  • EFO_ CONSUMER _NAME: Setzen Sie diesen Parameter auf einen Zeichenkettenwert, der für die Nutzer dieses Streams eindeutig ist. Die Wiederverwendung eines Verbrauchernamens in demselben Kinesis Data Stream führt dazu, dass der vorherige Verbraucher, der diesen Namen verwendet hat, beendet wird.

Um a FlinkKinesisConsumer zur Verwendung zu konfigurierenEFO, fügen Sie dem Verbraucher die folgenden Parameter hinzu:

consumerConfig.putIfAbsent(RECORD_PUBLISHER_TYPE, "EFO"); consumerConfig.putIfAbsent(EFO_CONSUMER_NAME, "basic-efo-flink-app");

Ein Beispiel für eine Managed Service for Apache Flink-Anwendung, die einen EFO Consumer verwendet, finden Sie unterEFO-Verbraucher.

Verwenden Sie Amazon MSK

Die KafkaSource Quelle stellt Streaming-Daten aus einem MSK Amazon-Thema für Ihre Anwendung bereit.

Erstellen eines KafkaSource

Das folgende Code-Beispiel zeigt das Erstellen eines 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");

Weitere Informationen zur Verwendung von KafkaSource finden Sie unter MSK-Replikation.