Ajouter des sources de données de streaming au service géré pour Apache Flink - Service géré pour Apache Flink

Le service géré Amazon pour Apache Flink était auparavant connu sous le nom d’Amazon Kinesis Data Analytics pour Apache Flink.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajouter des sources de données de streaming au service géré pour Apache Flink

Apache Flink fournit des connecteurs pour lire à partir de fichiers, de sockets, de collections et de sources personnalisées. Dans le code de votre application, vous utilisez une source Apache Flink pour recevoir les données d’un flux. Cette section décrit les sources disponibles pour les services Amazon.

Utiliser les flux de données Kinesis

La source FlinkKinesisConsumer fournit des données de streaming à votre application à partir d’un flux de données Amazon Kinesis.

Créer une FlinkKinesisConsumer

L’exemple de code suivant illustre la création d’un 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));

Pour plus d’informations sur l’utilisation d’un FlinkKinesisConsumer, consultez Téléchargez et examinez le code Java de streaming d'Apache Flink.

Créez un FlinkKinesisConsumer qui utilise un EFO consommateur

Le supporte FlinkKinesisConsumer désormais Enhanced Fan-Out () EFO.

Si un client Kinesis l'utiliseEFO, le service Kinesis Data Streams lui fournit sa propre bande passante dédiée, au lieu que le consommateur partage la bande passante fixe du flux avec les autres consommateurs lisant le flux.

Pour plus d'informations sur l'utilisation EFO avec les consommateurs Kinesis, voir FLIP-128 : Enhanced Fan Out for AWS Kinesis Consumers.

Vous activez le EFO consommateur en définissant les paramètres suivants sur le consommateur Kinesis :

  • RECORD_ PUBLISHER _ TYPE : Définissez ce paramètre sur EFOpour que votre application utilise un EFO consommateur pour accéder aux données Kinesis Data Stream.

  • EFO_ CONSUMER _ NAME : Définissez ce paramètre sur une valeur de chaîne unique parmi les consommateurs de ce flux. La réutilisation d’un nom de consommateur dans le même flux de données Kinesis entraînera la résiliation du client qui utilisait ce nom précédemment.

Pour configurer un FlinkKinesisConsumer à utiliserEFO, ajoutez les paramètres suivants au consommateur :

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

Pour un exemple de service géré pour une application Apache Flink utilisant un EFO consommateur, consultezEFOConsommateur.

Utilisez Amazon MSK

La KafkaSource source fournit des données de streaming à votre application à partir d'un MSK sujet Amazon.

Créer une KafkaSource

L’exemple de code suivant illustre la création d’un 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");

Pour plus d’informations sur l’utilisation d’un KafkaSource, consultez MSKRéplication.