O Amazon Managed Service para Apache Flink (Amazon MSF) era conhecido anteriormente 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á.
Tutorial: Implantar um notebook Studio como um serviço gerenciado para o aplicativo Apache Flink com estado durável
O tutorial a seguir demonstra como implantar um Studio notebook como um aplicativo Managed Service for Apache Flink com estado durável.
Este tutorial contém as seguintes seções:
Concluir os pré-requisitos
Crie um novo Studio notebook seguindo o Tutorial: Criar um notebook Studio no Managed Service para Apache Flink, usando o fluxo de dados Kinesis ou o Amazon MSK. Dê um nome ao Studio notebook ExampleTestDeploy.
Implemente um aplicativo com estado durável usando o AWS Management Console
Adicione um local de bucket do S3 onde deseja que o código empacotado seja armazenado em Localização do código do aplicativo - opcional no console. Isso habilita as etapas para implantar e executar seu aplicativo diretamente do notebook.
Adicione as permissões necessárias à função do aplicativo para habilitar a função que você está usando para ler e gravar em um bucket do Amazon S3 e para iniciar um aplicativo Managed Service for Apache Flink:
Amazon S3 FullAccess
Gerenciado pela Amazon - flinkFullAccess
Acesso às suas fontes, destinos e VPCs conforme aplicável. Para obter mais informações, consulte Analise as permissões do IAM para notebooks Studio.
Use o seguinte código de exemplo:
%flink.ssql(type=update) CREATE TABLE exampleoutput ( 'ticket' VARCHAR, 'price' DOUBLE ) WITH ( 'connector' = 'kinesis', 'stream' = 'ExampleOutputStream', 'aws.region' = 'us-east-1', 'scan.stream.initpos' = 'LATEST', 'format' = 'json' );INSERT INTO exampleoutput SELECT ticker, price FROM exampleinputstreamCom o lançamento desse atributo, você verá uma nova lista suspensa no canto superior direito de cada nota em seu notebook com o nome do notebook. Você pode fazer o seguinte:
Veja as configurações do Studio notebook no AWS Management Console.
Crie seu Zeppelin Note e exporte-o para o Amazon S3. Nesse ponto, forneça um nome para seu aplicativo e selecione Criar e exportar. Você receberá uma notificação quando a exportação for concluída.
Se precisar, você pode visualizar e executar quaisquer testes adicionais no executável no Amazon S3.
Quando a compilação estiver concluída, você poderá implantar seu código como um aplicativo de transmissão do Kinesis com estado durável e escalabilidade automática.
Use o menu suspenso e selecione Implantar o Zeppelin Note como aplicativo de transmissão do Kinesis. Revise o nome do aplicativo e escolha Implantar via AWS console.
Isso levará você à AWS Management Console página de criação de um serviço gerenciado para o aplicativo Apache Flink. Observe que o nome do aplicativo, o paralelismo, a localização do código, as funções padrão do Glue DB, VPC (se aplicável) e IAM foram pré-preenchidas. Valide se as funções do IAM têm as permissões necessárias para suas fontes e destinos. Os snapshots são habilitados por padrão para um gerenciamento durável do estado do aplicativo.
Selecione Create application (Criar aplicativo).
Você pode selecionar Configurar e modificar qualquer configuração e selecionar Executar para iniciar seu aplicativo de transmissão.
Implemente um aplicativo com estado durável usando o AWS CLI
Para implantar um aplicativo usando o AWS CLI, você deve atualizá-lo AWS CLI para usar o modelo de serviço fornecido com as informações do Beta 2. Para obter informações sobre como usar o modelo de serviço atualizado, consulte Concluir os pré-requisitos do ..
O código de exemplo a seguir cria um novo Studio notebook:
aws kinesisanalyticsv2 create-application \ --application-name <app-name> \ --runtime-environment ZEPPELIN-FLINK-3_0 \ --application-mode INTERACTIVE \ --service-execution-role <iam-role> --application-configuration '{ "ZeppelinApplicationConfiguration": { "CatalogConfiguration": { "GlueDataCatalogConfiguration": { "DatabaseARN": "arn:aws:glue:us-east-1:<account>:database/<glue-database-name>" } } }, "FlinkApplicationConfiguration": { "ParallelismConfiguration": { "ConfigurationType": "CUSTOM", "Parallelism": 4, "ParallelismPerKPU": 4 } }, "DeployAsApplicationConfiguration": { "S3ContentLocation": { "BucketARN": "arn:aws:s3:::<s3bucket>", "BasePath": "/something/" } }, "VpcConfigurations": [ { "SecurityGroupIds": [ "<security-group>" ], "SubnetIds": [ "<subnet-1>", "<subnet-2>" ] } ] }' \ --region us-east-1
O código de exemplo a seguir inicia um Studio notebook:
aws kinesisanalyticsv2 start-application \ --application-name <app-name> \ --region us-east-1 \ --no-verify-ssl
O código a seguir retorna a URL da página do Apache Zeppelin notebook de um aplicativo:
aws kinesisanalyticsv2 create-application-presigned-url \ --application-name <app-name> \ --url-type ZEPPELIN_UI_URL \ --region us-east-1 \ --no-verify-ssl