Aggiungere sorgenti di dati di streaming a Managed Service for Apache Flink - Servizio gestito per Apache Flink

Il servizio gestito da Amazon per Apache Flink era precedentemente noto come Analisi dei dati Amazon Kinesis per Apache Flink.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiungere sorgenti di dati di streaming a Managed Service for Apache Flink

Apache Flink fornisce connettori per la lettura da file, socket, raccolte e origini personalizzate. Nel codice dell'applicazione, utilizzi un'origine Apache Flink per ricevere dati da un flusso. Questa sezione descrive le fonti disponibili per i servizi Amazon

Flussi di dati Kinesis

L'origine FlinkKinesisConsumer fornisce dati di streaming all'applicazione da un flusso di dati Amazon Kinesis.

Creazione di un FlinkKinesisConsumer

Il seguente esempio di codice illustra la creazione di una 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));

Per ulteriori informazioni sull'utilizzo di una FlinkKinesisConsumer, consulta Scarica ed esamina il codice Java per lo streaming di Apache Flink.

Creazione di un FlinkKinesisConsumer che utilizza un consumatore EFO

FlinkKinesisConsumer Ora supporta Enhanced Fan-Out (EFO).

Se un consumatore Kinesis utilizza EFO, il servizio del flusso di dati Kinesis gli fornisce una larghezza di banda dedicata, anziché chiedere al consumatore di condividere la larghezza di banda fissa del flusso con gli altri consumatori che leggono dal flusso.

Per ulteriori informazioni sull'utilizzo di EFO con il consumatore Kinesis, consulta FLIP-128: Enhanced Fan Out for Kinesis Consumers. AWS

È possibile abilitare il consumatore EFO impostando i seguenti parametri sul consumatore Kinesis:

  • RECORD_PUBLISHER_TYPE: imposta questo parametro su EFO per consentire all'applicazione di utilizzare un consumatore EFO per accedere ai dati del flusso di dati Kinesis.

  • EFO_CONSUMER_NAME: imposta questo parametro su un valore di stringa che sia unico tra i consumatori di questo flusso. Il riutilizzo di un nome consumatore nello stesso flusso di dati Kinesis causerà l'interruzione del precedente consumatore che utilizzava quel nome.

Per configurare un FlinkKinesisConsumer per l'utilizzo di EFO, aggiungi i seguenti parametri al consumatore:

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

Per un esempio di un'applicazione del servizio gestito per Apache Flink che utilizza un consumatore EFO, consulta Consumatore EFO.

MSK Amazon

L'origine KafkaSource fornisce dati di streaming all'applicazione da un argomento di Amazon MSK.

Creazione di una KafkaSource

Il seguente esempio di codice illustra la creazione di una 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");

Per ulteriori informazioni sull'utilizzo di una KafkaSource, consulta Replica MSK.