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.
Questo tutorial contiene le sezioni seguenti:
Completa i prerequisiti
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 create table connector for Managed Service for Apache Flink nel notebook all'interno di Apache Zeppelin per creare la tabella tramite un'istruzione. DDL È quindi possibile effettuare il check-in AWS Glue per assicurarsi che la tabella sia stata creata correttamente.
Creazione di una tabella
Accedi a AWS Management Console e apri la AWS Glue console all'indirizzo https://console.aws.amazon.com/glue/
. 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 Create (Crea) .Nella barra di navigazione a sinistra, seleziona Tabelle. Nella pagina Tabelle, scegli Aggiungi tabelle > Aggiungi tabella manualmente.
Nella pagina Imposta le proprietà della tabella, inserisci
stock
per Nome tabella. Assicurati di selezionare il database creato in precedenza. Scegli Next (Successivo).Nella pagina Aggiungi un datastore, scegli Kinesis. Per Nome del flusso, inserisci
ExampleInputStream
. Per il codice sorgente Kinesis URL, scegli invio.https://kinesis.us-east-1.amazonaws.com
Se copi e incolli il sorgente Kinesis URL, assicurati di eliminare tutti gli spazi iniziali o finali. Scegli Next (Successivo).Nella pagina Classificazione, scegli. JSON Scegli Next (Successivo).
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
Scegli Next (Successivo).
Nella pagina successiva, verifica le impostazioni e scegli Fine.
-
Scegli la tabella appena creata dall'elenco delle tabelle.
-
Scegli Modifica tabella e aggiungi una proprietà con la chiave
managed-flink.proctime
e il valoreproctime
. -
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 l'applicazione, è possibile utilizzare il AWS Management Console o il AWS CLI.
Crea un taccuino Studio utilizzando il AWS Management Console
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 Kinesis Data Streams selezionando il cluster MSK Amazon di input o il flusso di dati Kinesis e scegliendo Elabora dati in tempo reale.
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.
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:
Verifica l'ID del tuo account. Questo valore è necessario per creare l'applicazione.
Crea il ruolo
arn:aws:iam::
e aggiungi le seguenti autorizzazioni al ruolo creato automaticamente dalla console.AccountID
:role/ZeppelinRole"kinesis:GetShardIterator",
"kinesis:GetRecords",
"kinesis:ListShards"
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" } } } } }Per creare l'applicazione, esegui il comando riportato di seguito:
aws kinesisanalyticsv2 create-application --cli-input-json file://create.json
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", ...
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:
Apri Kinesis Data Generator
. Scegli Crea un utente Cognito con. CloudFormation
La AWS CloudFormation console si apre con il modello Kinesis Data Generator. Scegli Next (Successivo).
Nella pagina Specifica i dettagli dello stack, inserisci il nome utente e la password per l'utente Cognito. Scegli Next (Successivo).
Nella pagina Configura opzioni dello stack, scegli Successivo.
Nella pagina Review Kinesis-Data-Generator-Cognito-User, scegli l'opzione Riconosco che potrebbe creare risorse. AWS CloudFormation IAM casella di controllo. Scegli Crea stack.
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 URLApri KinesisDataGeneratorUrll'elenco per il valore di output.
Nella pagina Amazon Kinesis Data Generator, accedi con le credenziali create nel passaggio 4.
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 } )}} }
Scegli Invia dati.
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.
Nella pagina Applicazioni del servizio gestito per Apache Flink, scegli la scheda Notebook Studio. Scegli. MyNotebook
Nella MyNotebookpagina, scegli Apri in Apache Zeppelin.
L'interfaccia Apache Zeppelin viene aperta in una nuova scheda.
Nella sezione Ti diamo il benvenuto su Zeppelin!, scegli Nota Zeppelin.
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 la dashboard di Apache Flink per la tua applicazione e visualizzare gli aspetti operativi, scegli. FLINKJOB 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 Flink Streaming, consulta SQL Queries