使用 Kinesis Data Streams 创建 Studio 笔记本 - Amazon Kinesis Data Analytics
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Kinesis Data Streams 创建 Studio 笔记本

本教程描述如何创建将 Kinesis Data Streams 用作源的 Studio 笔记本。

设置

在创建 Studio 笔记本之前,请创建 Kinesis 数据流 (ExampleInputStream)。您的应用程序将此流用于应用程序源。

您可以使用 Amazon Kinesis 控制台或以下命令创建此流Amazon CLI命令。有关控制台说明,请参阅创建和更新数据流中的Amazon Kinesis Data Streams 开发人员指南. 命名流ExampleInputStream然后设置打开的分片数量1.

创建流 (ExampleInputStream) 使用Amazon CLI,使用以下 Amazon Kinesiscreate-stream Amazon CLI命令。

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

创建一个 Amazon Glue 表

你的 Studio 笔记本使用Amazon Glue有关 Kinesis Data Streams 数据源的元数据库。

注意

您可以先手动创建数据库,也可以让 Kinesis Data Analytics 在创建笔记本时为您创建数据库。同样,您可以按本节所述手动创建表,也可以在 Apache Zeppelin 的笔记本中使用 Kinesis Data Analytics 的创建表连接器代码通过 DDL 语句创建表。然后你可以办理登机手续Amazon Glue以确保表格已正确创建。

创建表

  1. 登录 Amazon Web Services Management Console,然后打开 Amazon Glue 控制台,网址为:https://console.aws.amazon.com/glue/

  2. 如果您还没有Amazon Glue选择数据库数据库从左侧导航栏中。选择添加数据库. 在添加数据库窗口中,输入default为了数据库名称. 选择 Create(创建)。

  3. 在左侧导航栏中,选择. 在页面上,选择添加表格手动添加表.

  4. 设置表的属性页面,输入stock(对于 )表名称. 确保选择以前创建的数据库。请选择 Next (下一步)

  5. 添加数据存储页面上,选择Kinesis. 对于流名称,输入ExampleInputStream. 适用于Kinesis 源 URL,选择 Enterhttps://kinesis.us-east-1.amazonaws.com. 如果您复制并粘贴Kinesis 源 URL,请务必删除任何前导空格或尾随空格。请选择 Next (下一步)

  6. Classification页面上,选择JSON. 请选择 Next (下一步)

  7. 定义架构页面上,选择添加列以添加列。添加具有以下属性的列:

    列名称 数据类型
    自动收报机 字符串
    价格 double

    请选择 Next (下一步)

  8. 在下一页上,验证设置,然后选择Finish.

  9. 从表列表中选择您新创建的表。

  10. 选择编辑表然后用钥匙添加属性kinesisanalytics.proctime和价值proctime.

  11. 选择 Apply(应用)。

使用 Kinesis Data Streams 创建 Studio 笔记本

既然您已经创建了应用程序使用的资源,就可以创建 Studio 笔记本。

要创建应用程序,您可以使用Amazon Web Services Management Console或者Amazon CLI.

使用创建 Studio 笔记本Amazon Web Services Management Console

  1. 打开 Kinesis Data Analytics 控制台https://console.aws.amazon.com/kinesisanalytics/home?region=us-east-1#/applications/dashboard.

  2. Kinesis Data Analytics页面上,选择工作室选项卡。选择创建 Studio 笔记本.

    注意

    您还可以从 Amazon MSK 或 Kinesis Data Streams 控制台创建 Studio 笔记本,方法是选择输入的亚马逊 MSK 集群或 Kinesis 数据流,然后选择实时处理数据.

  3. 创建 Studio 笔记本页面上,提供以下信息:

    • EnterMyNotebook用于笔记本的名称。

    • 选择默认为了AmazonGlue Data.

    选择创建 Studio 笔记本.

  4. MyNotebook页面上,选择运行. 等待状态显示正在运行. 笔记本电脑运行时需支付费用。

使用创建 Studio 笔记本Amazon CLI

使用创建 Studio 笔记本Amazon CLI中,执行以下操作:

  1. 验证您的账户 ID。您需要此值才能创建应用程序。

  2. 创建角色arn:aws:iam::AccountID:role/ZeppelinRole然后通过控制台向自动创建的角色添加以下权限。

    "kinesis:GetShardIterator",

    "kinesis:GetRecords",

    "kinesis:ListShards"

  3. 创建以下内容的名为 create.json 的文件。将占位符值替换为您的信息。

    { "ApplicationName": "MyNotebook", "RuntimeEnvironment": "ZEPPELIN-FLINK-2_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. 运行以下命令以创建应用程序:

    aws kinesisanalyticsv2 create-application --cli-input-json file://create.json
  5. 命令完成后,您会看到显示新 Studio 笔记本电脑详细信息的输出。下面是输出的一个示例。

    { "ApplicationDetail": { "ApplicationARN": "arn:aws:kinesisanalytics:us-east-1:012345678901:application/MyNotebook", "ApplicationName": "MyNotebook", "RuntimeEnvironment": "ZEPPELIN-FLINK-2_0", "ApplicationMode": "INTERACTIVE", "ServiceExecutionRole": "arn:aws:iam::012345678901:role/ZeppelinRole", ...
  6. 运行以下命令以启动应用程序。将示例值替换为您的账户 ID。

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

将数据发送到 Kinesis 数据流

要将测试数据发送到 Kinesis 数据流,请执行以下操作:

  1. 打开Kinesis Data Fenesis in.

  2. 选择使用创建 Cognito 用户CloudFormation.

  3. 这些区域有:Amazon CloudFormation打开控制台并打开 Kinesis Data Generator 模板。请选择 Next (下一步)

  4. 指定堆栈细节页面上,输入 Cognito 用户的用户名和密码。请选择 Next (下一步)

  5. 配置堆栈选项页面上,选择下一步.

  6. 查看 Kinesis-Data 生成器-认知用户页面上,选择我承认Amazon CloudFormation可能会创建 IAM 资源。复选框。选择创建堆栈

  7. 等待Amazon CloudFormation创建堆栈完成。堆栈完成后,打开Kinesis-Data 生成器-认知用户堆叠在Amazon CloudFormation控制台,然后选择输出选项卡。打开列出的 URLKinesisDataGeneratorUrl输出值。

  8. Amazon Kinesis Data Fenator页面上,使用您在步骤 4 中创建的凭证登录。

  9. 在下一页上,提供以下值:

    区域 us-east-1
    流/交付流 ExampleInput流
    每秒记录数 1

    适用于录制模板中,粘贴以下代码:

    { "ticker": "{{random.arrayElement( ["AMZN","MSFT","GOOG"] )}}", "price": {{random.number( { "min":10, "max":150 } )}} }
  10. 选择发送数据.

  11. 发生器将向 Kinesis Data Streams 发送数据流。

    完成下一部分时,让发电机保持运行状态。

测试 Studio 笔记本

在本节中,您可以使用 Studio 笔记本来查询 Kinesis 数据流中的数据。

  1. 打开 Kinesis Data Analytics 控制台https://console.aws.amazon.com/kinesisanalytics/home?region=us-east-1#/applications/dashboard.

  2. 在存储库的Kinesis Data Analytics页面上,选择Studio 笔记本选项卡。选择MyNotebook.

  3. MyNotebook页面上,选择在 Apache Zeppelin 中打开.

    Apache Zeppelin 界面将在新的选项卡中打开。

  4. 欢迎使用 Zeppelin!页面上,选择Zeppelin Note.

  5. Zeppelin Note页面上,在新备注中输入以下查询:

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

    选择运行图标。

    短时间后,该笔记显示来自 Kinesis 数据流的数据。

要为应用程序打开 Apache Flink 控制面板以查看运营方面,请选择FLINK 作业. 有关 Flink 控制面板的更多信息,请参阅Apache Flink 控制面板中的Kinesis Data Analytics 开发者指南.

有关 Flink Streams SQL 查询的更多示例,请参阅查询中的Apache Flink 文档.