Tutorial: implementazione come applicazione con stato durevole - 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à.

Tutorial: implementazione come applicazione con stato durevole

Il seguente tutorial mostra come implementare un notebook Studio come un'applicazione del servizio gestito per Apache Flink con stato durevole.

Installazione

Crea un nuovo notebook Studio seguendo le istruzioni in Tutorial sulla creazione di un taccuino Studio e utilizzando il flusso di dati Kinesis o Amazon MSK. Assegna un nome al notebook Studio ExampleTestDeploy.

Implementazione di un'applicazione con stato durevole utilizzando la AWS Management Console

  1. Aggiungi una posizione del bucket S3 in cui desideri che il codice del pacchetto venga archiviato in Posizione del codice dell'applicazione (opzionale) nella console. Ciò consente di eseguire i passaggi necessari per implementare ed eseguire l'applicazione direttamente dal notebook.

  2. Aggiungi le autorizzazioni necessarie al ruolo dell'applicazione per abilitare il ruolo che stai utilizzando per leggere e scrivere su un bucket Amazon S3 e per avviare un'applicazione del servizio gestito per Apache Flink:

  3. Utilizza il seguente codice di esempio:

    %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 exampleinputstream
  4. Con il lancio di questa funzionalità, vedrai un nuovo menu a discesa nell'angolo in alto a destra di ogni nota del notebook con il nome del notebook. Puoi eseguire le operazioni indicate di seguito:

    • Visualizza le impostazioni del notebook Studio nella AWS Management Console.

    • Crea una nota Zeppelin ed esportala in Amazon S3. A questo punto, fornisci un nome per l'applicazione e scegli Crea ed esporta. Riceverai una notifica al termine dell'esportazione.

    • Se necessario, puoi visualizzare ed eseguire eventuali test aggiuntivi sull'eseguibile in Amazon S3.

    • Una volta completata la compilazione, potrai implementare il codice come un'applicazione di streaming Kinesis con stato durevole e scalabilità automatica.

    • Dal menu a discesa, scegli Implementa nota Zeppelin come applicazione di streaming Kinesis. Controlla il nome dell'applicazione e scegli Distribuisci tramite console. AWS

    • Questo ti porterà alla AWS Management Console pagina per la creazione di un servizio gestito per l'applicazione Apache Flink. Tieni presente che il nome dell'applicazione, il parallelismo, la posizione del codice, i ruoli predefiniti di Glue DB, VPC (se applicabile) e IAM sono stati precompilati. Verifica che i ruoli IAM dispongano delle autorizzazioni necessarie per le origini e le destinazioni. Gli snapshot sono abilitati per impostazione predefinita per la gestione dello stato durevole delle applicazioni.

    • Scegli Crea applicazione.

    • Puoi scegliere Configura e modificare qualsiasi impostazione, quindi scegli Esegui per avviare l'applicazione di streaming.

Implementazione di un'applicazione con stato durevole utilizzando la AWS CLI

Per distribuire un'applicazione utilizzando il AWS CLI, è necessario aggiornare il modello di servizio fornito con le informazioni relative AWS CLI alla Beta 2. Per informazioni sull'utilizzo del modello di servizio aggiornato, consulta Installazione.

Il codice di esempio seguente crea un nuovo notebook Studio:

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

Il seguente esempio di codice avvia un notebook Studio:

aws kinesisanalyticsv2 start-application \ --application-name <app-name> \ --region us-east-1 \ --no-verify-ssl

Il codice seguente restituisce l'URL della pagina del notebook Apache Zeppelin di un'applicazione:

aws kinesisanalyticsv2 create-application-presigned-url \ --application-name <app-name> \ --url-type ZEPPELIN_UI_URL \ --region us-east-1 \ --no-verify-ssl