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.

Configuração

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 do 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 bloco de anotações 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 como 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 URL de origem do Kinesis, selecione inserir https://kinesis.us-east-1.amazonaws.com. Se você copiar e colar o URL de origem do Kinesis, certifique-se de excluir todos os espaços à esquerda ou à direita. Selecione Next (Próximo).

  6. Na página Classificação, selecione JSON. Selecione Next (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

    Selecione Next (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 console do Managed Service for Apache Flink em https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard.

  2. Na página dos 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 bloco de anotações do Studio a partir dos consoles Amazon MSK ou Kinesis Data Streams, selecionando seu cluster Amazon MSK de entrada ou Kinesis Data Streams e selecionando 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 padrão para o AWS banco de dados do 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 do Kinesis Data Generator. Selecione Next (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 pode criar recursos do IAM. AWS CloudFormation 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 o URL listado 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 console do Managed Service for Apache Flink em https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard.

  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, selecione TRABALHO FLINK. 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 consultas SQL do Flink Streaming, veja Consultas na documentação do Apache Flink.