Amazon Managed Service for Apache Flink 之前稱為 Amazon Kinesis Data Analytics for Apache Flink。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:將 Studio 筆記本部署為具有持久狀態的 Apache Flink 應用程式的受管理服務
下列教學課程示範如何將 Studio 筆記本部署為具有持久狀態的 Managed Service for Apache Flink 應用程式。
完成事前準備
按照使用 Kinesis Data Streams 或 Amazon 教學課程:在 Apache Flink 的受管理服務中建立工作室筆記本MSK,建立新的 Studio 筆記本。命名 Studio 筆記本 ExampleTestDeploy
。
使用 AWS Management Console部署具有持久狀態的應用程式
在主控台中的應用程式程式碼位置 - 選用下,新增您希望將封裝程式碼存放到的 S3 儲存貯體位置。這可讓步驟直接從筆記本部署和執行應用程式。
將必要的許可新增至應用程式角色,以啟用您要用來讀取和寫入 Amazon S3 儲存貯體以及啟動 Managed Service for Apache Flink 應用程式的角色:
亞馬遜 FullAccess
亞馬遜管理 flinkFullAccess
訪問您的來源,目的地和適VPCs用的。如需詳細資訊,請參閱檢閱 Studio 筆記本的IAM權限。
請參閱以下範例程式碼:
%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
啟動此功能後,您將在筆記本中每條筆記的右上角看到一個新的下拉式選單,其中包含筆記本的名稱。您可以執行下列作業:
在 AWS Management Console中檢視 Studio 筆記本設定。
建立 Zeppelin 筆記,並將其匯出至 Amazon S3。此時,請為您的應用程式提供名稱,然後選擇建置和匯出。匯出完成後,您會收到通知。
如有需要,您可以在 Amazon S3 中的可執行檔上檢視和執行任何其他測試。
建置完成後,您將能夠將程式碼部署為具有持久狀態和自動調度資源的 Kinesis 串流應用程式。
使用下拉式選單並選擇將 Zeppelin 筆記部署為 Kinesis 串流應用程式。檢閱應用程式名稱,然後選擇透過 AWS 主控台部署。
這將引導您進入用於為 Apache Flink 應用程序創建託管服務的 AWS Management Console 頁面。請注意,已預先填入應用程式名稱、平行處理原則、程式碼位置、預設 Glue DB VPC (如果適用) 和IAM角色。驗證這些IAM角色具有來源和目的地的必要權限。快照預設啟用,以進行持久的應用程式狀態管理。
選擇建立應用程式。
您可以選擇設定並修改任何設定,然後選擇執行以啟動串流應用程式。
使用 AWS CLI部署具有持久狀態的應用程式
若要使用部署應用程式 AWS CLI,您必須更新您的, AWS CLI 才能使用隨 Beta 2 資訊提供的服務模型。如需如何使用更新的服務模型之相關資訊,請參閱 完成先決條件。
以下範例程式碼會建立 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
下列程式碼範例會啟動 Studio 筆記本:
aws kinesisanalyticsv2 start-application \ --application-name <app-name> \ --region us-east-1 \ --no-verify-ssl
下列程式碼會URL傳回應用程式的 Apache 齊柏林飛艇筆記本頁面:
aws kinesisanalyticsv2 create-application-presigned-url \ --application-name <app-name> \ --url-type ZEPPELIN_UI_URL \ --region us-east-1 \ --no-verify-ssl