Anteriormente, o Amazon Managed Service for Apache Flink era conhecido como Amazon Kinesis Data Analytics for Apache Flink.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Adicione fontes de dados de streaming ao Managed Service for Apache Flink
O Apache Flink fornece conectores para leitura de arquivos, soquetes, coleções e fontes personalizadas. No código do seu aplicativo, você usa uma fonte do Apache Flink
Use streams de dados do Kinesis
A fonte FlinkKinesisConsumer
fornece dados de transmissão para seu aplicativo a partir de um fluxo de dados da Amazon Kinesis.
Criar uma FlinkKinesisConsumer
O exemplo de código a seguir demonstra como criar um 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));
Para obter mais informações sobre como usar uma FlinkKinesisConsumer
, consulte Baixe e examine o código Java de streaming do Apache Flink.
Crie um FlinkKinesisConsumer
que use um EFO consumidor
FlinkKinesisConsumer Agora é compatível com Enhanced Fan-Out () EFO
Se um consumidor do Kinesis usaEFO, o serviço Kinesis Data Streams fornece sua própria largura de banda dedicada, em vez de fazer com que o consumidor compartilhe a largura de banda fixa do stream com os outros consumidores que estão lendo o stream.
Para obter mais informações sobre como usar EFO com o consumidor Kinesis, consulte FLIP-128: Enhanced Fan Out for AWS Kinesis
Você habilita o EFO consumidor definindo os seguintes parâmetros no consumidor Kinesis:
RECORD_ PUBLISHER _TYPE: defina esse parâmetro EFOpara que seu aplicativo use um EFO consumidor para acessar os dados do Kinesis Data Stream.
EFO_ CONSUMER _NAME: defina esse parâmetro como um valor de string exclusivo entre os consumidores desse fluxo. A reutilização de um nome de consumidor no mesmo Kinesis Data Stream fará com que o consumidor anterior que usava esse nome seja excluído.
Para configurar um FlinkKinesisConsumer
para usarEFO, adicione os seguintes parâmetros ao consumidor:
consumerConfig.putIfAbsent(RECORD_PUBLISHER_TYPE, "EFO"); consumerConfig.putIfAbsent(EFO_CONSUMER_NAME, "basic-efo-flink-app");
Para obter um exemplo de um serviço gerenciado para o aplicativo Apache Flink que usa um EFO consumidor, consulte. Consumidor EFO
Use a Amazon MSK
A KafkaSource
fonte fornece dados de streaming para seu aplicativo a partir de um MSK tópico da Amazon.
Criar uma KafkaSource
O exemplo de código a seguir demonstra como criar um 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");
Para obter mais informações sobre como usar uma KafkaSource
, consulte Replicação do MSK.