Creazione di un notebook Studio con il flusso di dati Kinesis - 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à.

Creazione di un notebook Studio con il flusso di dati Kinesis

Questo tutorial descrive come creare un notebook Studio che utilizza un flusso di dati Kinesis come origine.

Installazione

Prima di creare un notebook Studio, è necessario creare un flusso di dati Kinesis (ExampleInputStream). L'applicazione utilizza questo flusso come origine dell'applicazione.

Puoi creare questo flusso utilizzando la console Amazon Kinesis o il comando AWS CLI seguente. Per istruzioni sulla console, consulta Creazione e aggiornamento dei flussi di dati nella Guida per gli sviluppatori del flusso di dati Amazon Kinesis. Assegna un nome al flusso ExampleInputStream e imposta il Numero di partizioni aperte su 1.

Per creare lo stream (ExampleInputStream) utilizzando il AWS CLI, usa il seguente comando Amazon Kinesis create-stream AWS CLI .

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

Crea una tabella AWS Glue

Il notebook Studio utilizza un database AWS Glue per i metadati sull'origine dati del flusso di dati Kinesis.

Nota

Puoi creare prima il database manualmente oppure lasciare che il servizio gestito per Apache Flink lo crei automaticamente quando viene creato il notebook. Allo stesso modo, è possibile creare manualmente la tabella come descritto in questa sezione oppure utilizzare il codice del connettore di creazione tabella per il servizio gestito per Apache Flink nel notebook all'interno di Apache Zeppelin per creare la tabella tramite un'istruzione DDL. Puoi quindi effettuare il check-in AWS Glue per assicurarti che la tabella sia stata creata correttamente.

Creazione di una tabella
  1. Accedi AWS Management Console e apri la AWS Glue console all'indirizzo https://console.aws.amazon.com/glue/.

  2. Se non disponi già di un AWS Glue database, scegli Database dalla barra di navigazione a sinistra. Scegli Aggiungi database. Nella finestra Aggiungi database, inserisci default per Nome database. Scegli Crea.

  3. Nella barra di navigazione a sinistra, seleziona Tabelle. Nella pagina Tabelle, scegli Aggiungi tabelle > Aggiungi tabella manualmente.

  4. Nella pagina Imposta le proprietà della tabella, inserisci stock per Nome tabella. Assicurati di selezionare il database creato in precedenza. Seleziona Successivo.

  5. Nella pagina Aggiungi un datastore, scegli Kinesis. Per Nome del flusso, inserisci ExampleInputStream. Per URL di origine di Kinesis, inserisci https://kinesis.us-east-1.amazonaws.com. Se copi e incolli l'URL di origine di Kinesis, assicurati di eliminare gli spazi iniziali o finali. Seleziona Successivo.

  6. Nella pagina Classificazione, scegli JSON. Seleziona Successivo.

  7. Nella pagina Definisci uno schema, scegli Aggiungi colonna per aggiungere una colonna. Aggiungi colonne con le seguenti proprietà:

    Nome colonna Tipo di dati
    ticker string
    price double

    Seleziona Successivo.

  8. Nella pagina successiva, verifica le impostazioni e scegli Fine.

  9. Scegli la tabella appena creata dall'elenco delle tabelle.

  10. Scegli Modifica tabella e aggiungi una proprietà con la chiave managed-flink.proctime e il valore proctime.

  11. Scegli Applica.

Creazione di un notebook Studio con il flusso di dati Kinesis

Ora che hai creato le risorse utilizzate dall'applicazione, puoi creare il notebook Studio.

Per creare la tua applicazione, puoi usare il AWS Management Console o il AWS CLI.

Crea un taccuino Studio utilizzando il AWS Management Console

  1. Apri la console del servizio gestito per Apache Flink all'indirizzo https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard.

  2. Nella pagina Applicazioni del servizio gestito per Apache Flink, scegli la scheda Studio. Scegli Crea notebook Studio.

    Nota

    Puoi anche creare un notebook Studio dalle console Amazon MSK o del flusso di dati Kinesis selezionando il cluster Amazon MSK o il flusso di dati Kinesis di input e scegliendo Elabora dati in tempo reale.

  3. Nella pagina Crea notebook Studio, immetti le seguenti informazioni:

    • Inserisci MyNotebook per il nome del notebook.

    • Scegli l'impostazione predefinita per il database AWS Glue.

    Scegli Crea notebook Studio.

  4. Nella MyNotebookpagina, scegli Esegui. Attendi che lo stato mostri In esecuzione. Si applicano costi quando il notebook è in funzione.

Crea un taccuino Studio utilizzando il AWS CLI

Per creare il tuo taccuino Studio utilizzando AWS CLI, procedi come segue:

  1. Verifica l'ID del tuo account. Questo valore è necessario per creare l'applicazione.

  2. Crea il ruolo arn:aws:iam::AccountID:role/ZeppelinRole e aggiungi le seguenti autorizzazioni al ruolo creato automaticamente dalla console.

    "kinesis:GetShardIterator",

    "kinesis:GetRecords",

    "kinesis:ListShards"

  3. Crea un file denominato create.json con i seguenti contenuti. Sostituisci i valori segnaposto con le tue informazioni.

    { "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. Per creare l'applicazione, esegui il comando riportato di seguito:

    aws kinesisanalyticsv2 create-application --cli-input-json file://create.json
  5. Una volta completata l'esecuzione del comando, visualizzerai un output che mostra i dettagli per il nuovo notebook Studio. Di seguito è riportato un esempio di output.

    { "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. Per avviare l'applicazione, esegui il comando riportato di seguito. Sostituisci il valore di esempio con il tuo ID account.

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

Invio di dati al flusso di dati Kinesis

Per inviare i dati di test al flusso di dati Kinesis, procedi come segue:

  1. Apri Kinesis Data Generator.

  2. Scegli Crea un utente Cognito con. CloudFormation

  3. La AWS CloudFormation console si apre con il modello Kinesis Data Generator. Seleziona Successivo.

  4. Nella pagina Specifica i dettagli dello stack, inserisci il nome utente e la password per l'utente Cognito. Seleziona Successivo.

  5. Nella pagina Configura opzioni dello stack, scegli Successivo.

  6. Nella pagina Review Kinesis-Data-Generator-Cognito-User, scegli le risorse Riconosco che potrebbero creare IAM. AWS CloudFormation casella di controllo. Scegli Crea stack.

  7. Attendi che lo AWS CloudFormation stack finisca di essere creato. Una volta completato lo stack, apri lo stack Kinesis-Data-Generator-Cognito-User nella console e scegli la scheda Output. AWS CloudFormation KinesisDataGeneratorUrlApri l'URL elencato per il valore di output.

  8. Nella pagina Amazon Kinesis Data Generator, accedi con le credenziali create nel passaggio 4.

  9. Nella pagina successiva, specifica i seguenti valori:

    Region us-east-1
    Stream/Flusso Firehose ExampleInputStream
    Record al secondo 1

    Per Modello di record, incolla il seguente codice:

    { "ticker": "{{random.arrayElement( ["AMZN","MSFT","GOOG"] )}}", "price": {{random.number( { "min":10, "max":150 } )}} }
  10. Scegli Invia dati.

  11. Il generatore invierà dati al flusso di dati Kinesis.

    Lascia il generatore in esecuzione mentre completi la sezione successiva.

Test del notebook Studio

In questa sezione, il notebook Studio viene utilizzato per eseguire query sui dati del flusso di dati Kinesis.

  1. Apri la console del servizio gestito per Apache Flink all'indirizzo https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard.

  2. Nella pagina Applicazioni del servizio gestito per Apache Flink, scegli la scheda Notebook Studio. Scegli MyNotebook.

  3. Nella MyNotebookpagina, scegli Apri in Apache Zeppelin.

    L'interfaccia Apache Zeppelin viene aperta in una nuova scheda.

  4. Nella sezione Ti diamo il benvenuto su Zeppelin!, scegli Nota Zeppelin.

  5. Nella pagina Nota Zeppelin, inserisci la seguente query in una nuova nota:

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

    Seleziona l'icona dell'esecuzione.

    Dopo un breve periodo, la nota visualizza i dati del flusso di dati Kinesis.

Per aprire il pannello di controllo di Apache Flink per la tua applicazione e visualizzare gli aspetti operativi, scegli PROCESSO FLINK. Per ulteriori informazioni sul pannello di controllo di Flink, consulta Pannello di controllo di Apache Flink nella Guida per gli sviluppatori del servizio gestito per Apache Flink.

Per altri esempi di query Streaming SQL in Flink, consulta Query nella documentazione di Apache Flink.