Criar um bloco de anotações do Studio com o Kinesis Data Streams - Managed Service for Apache Flink

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á.

Criar um bloco de anotações do Studio com o Kinesis Data Streams

Este tutorial descreve como criar um bloco de anotações do Studio que usa um fluxo de dados do Kinesis como uma fonte.

Conclua os pré-requisitos

Antes de criar um bloco de anotações do Studio, crie um fluxo de dados do Kinesis (ExampleInputStream). Seu aplicativo usa esse fluxo para a fonte do aplicativo.

Você pode criar esses fluxos usando o console do Amazon Kinesis ou este comando AWS CLI . Para obter instruções sobre o console, consulte Criar e atualizar fluxos de dados no Guia do desenvolvedor do Amazon Kinesis Data Streams. Nomeie o fluxo ExampleInputStream e defina o Número de fragmentos abertos como 1.

Para criar o stream (ExampleInputStream) usando o AWS CLI, use o seguinte comando do Amazon Kinesis create-stream AWS CLI .

$ aws kinesis create-stream \ --stream-name ExampleInputStream \ --shard-count 1 \ --region us-east-1 \ --profile adminuser

Crie uma AWS Glue tabela

Seu bloco de anotações do Studio usa um AWS Gluebanco de dados para metadados sobre sua fonte de dados do Kinesis Data Streams.

nota

Você pode criar o banco de dados manualmente primeiro ou deixar que o Managed Service for Apache Flink o crie para você ao criar o bloco de anotações. Da mesma forma, você pode criar manualmente a tabela conforme descrito nesta seção ou usar o código do conector de criação de tabela para o Managed Service for Apache Flink em seu notebook no Apache Zeppelin para criar sua tabela por meio de uma instrução. DDL Em seguida, você pode fazer AWS Glue o check-in para verificar se a tabela foi criada corretamente.

Criar uma tabela
  1. Faça login no AWS Management Console e abra o AWS Glue console em https://console.aws.amazon.com/glue/.

  2. Se você ainda não tiver um AWS Glue banco de dados, escolha Bancos de dados na barra de navegação à esquerda. Selecione Adicionar banco de dados. Na janela Adicionar banco de dados, insira default para Nome do banco de dados. Selecione Create (Criar).

  3. Na barra de navegação à esquerda, selecione Tabelas. Na página Tabelas, selecione Adicionar tabelas, Adicionar tabela manualmente.

  4. Na página Configurar propriedades da tabela, insira stock para o Nome da tabela. Certifique-se de selecionar o banco de dados que você criou anteriormente. Selecione Next (Próximo).

  5. Na página Adicionar um armazenamento de dados, selecione Kinesis. Para Nome do fluxo, insira ExampleInputStream. Para a fonte do Kinesis URL, escolha enter. https://kinesis.us-east-1.amazonaws.com Se você copiar e colar a fonte do Kinesis URL, certifique-se de excluir todos os espaços à esquerda ou à direita. Escolha Próximo.

  6. Na página Classificação, escolha JSON. Escolha Próximo.

  7. Na página Definir um esquema, selecione Adicionar coluna para adicionar uma coluna. Adicione colunas com as seguintes propriedades:

    Nome da coluna Tipo de dados
    ticker string
    price double

    Escolha Próximo.

  8. Na próxima página, verifique suas configurações e selecione Concluir.

  9. Selecione a tabela recém-criada na lista de tabelas.

  10. Selecione Editar tabela e adicione uma propriedade com a chave managed-flink.proctime e o valor proctime.

  11. Selecione Apply (Aplicar).

Criar um bloco de anotações do Studio com o Kinesis Data Streams

Agora que você criou os recursos que o seu aplicativo usa, crie seu bloco de anotações do Studio.

Para criar seu aplicativo, você pode usar o AWS Management Console ou AWS CLI o.

Crie um notebook Studio usando o AWS Management Console

  1. Abra o serviço gerenciado para o console Apache Flink em casa https://console.aws.amazon.com/managed-flink/? region=us-east-1#/aplicativos/painel.

  2. Na página Aplicativos do Managed Service for Apache Flink, selecione a guia Studio. Selecione Criar bloco de anotações do Studio.

    nota

    Você também pode criar um notebook Studio a partir dos consoles Amazon MSK ou Kinesis Data Streams selecionando seu cluster MSK Amazon de entrada ou stream de dados do Kinesis e escolhendo Processar dados em tempo real.

  3. Na página Criar bloco de anotações do Studio, forneça as seguintes informações:

    • Digite MyNotebook como nome do bloco de anotações.

    • Selecione o padrão para o banco de dados AWS Glue.

    Selecione Criar bloco de anotações do Studio.

  4. Na MyNotebookpágina, escolha Executar. Aguarde até que o Status mostre Em execução. As cobranças se aplicam quando o bloco de anotações está em execução.

Crie um notebook Studio usando o AWS CLI

Para criar seu notebook Studio usando o AWS CLI, faça o seguinte:

  1. Verifique o seu ID da conta. Você precisa desse valor para criar seu aplicativo.

  2. Crie a função arn:aws:iam::AccountID:role/ZeppelinRole e adicione as seguintes permissões à função criada automaticamente pelo console.

    "kinesis:GetShardIterator",

    "kinesis:GetRecords",

    "kinesis:ListShards"

  3. Crie um arquivo chamado create.json com o conteúdo a seguir. Substitua os valores de espaço reservado por suas próprias informações.

    { "ApplicationName": "MyNotebook", "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0", "ApplicationMode": "INTERACTIVE", "ServiceExecutionRole": "arn:aws:iam::AccountID:role/ZeppelinRole", "ApplicationConfiguration": { "ApplicationSnapshotConfiguration": { "SnapshotsEnabled": false }, "ZeppelinApplicationConfiguration": { "CatalogConfiguration": { "GlueDataCatalogConfiguration": { "DatabaseARN": "arn:aws:glue:us-east-1:AccountID:database/default" } } } } }
  4. Para criar o seu aplicativo, execute o comando a seguir:

    aws kinesisanalyticsv2 create-application --cli-input-json file://create.json
  5. Quando o comando for concluído, você verá uma saída que mostra os detalhes do seu novo bloco de anotações do Studio. A seguir, veja um exemplo de saída.

    { "ApplicationDetail": { "ApplicationARN": "arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook", "ApplicationName": "MyNotebook", "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0", "ApplicationMode": "INTERACTIVE", "ServiceExecutionRole": "arn:aws:iam::012345678901:role/ZeppelinRole", ...
  6. Execute o comando a seguir para iniciar o aplicativo. Substitua o valor do exemplo pelo ID de sua conta.

    aws kinesisanalyticsv2 start-application --application-arn arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook\

Envie dados para o Kinesis Data Streams

Para enviar dados de teste para seu Kinesis Data Streams, faça o seguinte:

  1. Use o Kinesis Data Generator.

  2. Escolha Criar um usuário Cognito com. CloudFormation

  3. O AWS CloudFormation console é aberto com o modelo Kinesis Data Generator. Escolha Próximo.

  4. Na página Especificar os detalhes da pilha, insira o seu nome de usuário e a senha para seu usuário do Cognito. Selecione Next (Próximo).

  5. Na página Configurar opções de pilha, selecione Próximo.

  6. Na página Review Kinesis-Data-Generator-Cognito-User, escolha a opção Eu reconheço que isso pode criar recursos. AWS CloudFormation IAM caixa de seleção. Selecione Create Stack (Criar pilha).

  7. Aguarde até que a AWS CloudFormation pilha termine de ser criada. Depois que a pilha estiver concluída, abra a pilha Kinesis-Data-Generator-Cognito-User no console e escolha a guia Saídas. AWS CloudFormation Abra a URL lista para o valor KinesisDataGeneratorUrlde saída.

  8. Na página do Amazon Kinesis Data Generator, faça login com as credenciais que você criou na etapa 4.

  9. Na página seguinte, forneça os valores a seguir:

    Region us-east-1
    Stream/Firehose stream ExampleInputStream
    Registros por segundo 1

    Para Modelo de registro, cole o seguinte código:

    { "ticker": "{{random.arrayElement( ["AMZN","MSFT","GOOG"] )}}", "price": {{random.number( { "min":10, "max":150 } )}} }
  10. Selecione Enviar dados.

  11. O gerador enviará dados para o seu Kinesis Data Streams.

    Deixe o gerador executando enquanto você conclui a próxima seção.

Teste seu bloco de anotações do Studio

Nesta seção, você usa seu bloco de anotações do Studio para consultar dados do seu Kinesis Data Streams.

  1. Abra o serviço gerenciado para o console Apache Flink em casa https://console.aws.amazon.com/managed-flink/? region=us-east-1#/aplicativos/painel.

  2. Na página Aplicativos do Managed Service for Apache Flink, selecione a guia bloco de anotações do Studio. Escolha MyNotebook.

  3. Na MyNotebookpágina, escolha Abrir no Apache Zeppelin.

    A interface do Apache Zeppelin é aberta em uma nova guia.

  4. Na página Bem-vindo ao Zeppelin!, selecione Anotação do Zeppelin.

  5. Na página Anotação do Zeppelin, insira a seguinte consulta em uma nova anotação:

    %flink.ssql(type=update) select * from stock

    Selecione o ícone de execução.

    Depois de um curto período de tempo, a anotação exibe dados do Kinesis Data Streams.

Para abrir o painel do Apache Flink para que seu aplicativo visualize aspectos operacionais, escolha. FLINKJOB Para obter mais informações sobre o painel do Flink, consulte o painel do Apache Flink no Guia do desenvolvedor do Managed Service for Apache Flink.

Para obter mais exemplos de SQL consultas do Flink Streaming, consulte Consultas na documentação do Apache Flink.