问题标签 [amazon-kcl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
265 浏览

amazon-kinesis - KCL 如何在内部产生新的 RecordProcessor

我有一个 Java 使用者(KCL 实现)来使用来自 1 个带有 2 个分片的 Kinesis 流的消息。

KCL 创建 2 个与每个分片相关的 RecordProcessor。

然后我让我的机器进入睡眠状态,所以 JVM 暂停了。唤醒时,KCL 库在原来的 2 个 RecordProcessor 之外创建 2 个额外的 RecordProcessor。因此,对于每个分片,有 2 个处理器会导致冲突。

预期的行为是在原始 RecordProcessor 仍然存在时不生成 2 个新 RecordProcessor。KCL 中处理生成新 RecordProcessor 的逻辑的代码在哪里?

0 投票
1 回答
414 浏览

amazon-dynamodb - 有没有办法从 Dynamo DB 流中读取固定数量的工人和租约而没有任何问题

我不断将数据发布到启用了流的 dynamoDB 中。我正在使用 KCL 的 DynamoDB apadter 阅读此流。

我正在使用 1 个 KCL 工人和 5 个租约。在创建时,我的 Dynamo 表有 1 个分区(1 个 RCU 和 999WCU)。当我继续将数据发布到 dynamo 时,分区数会增加,活动分片数也会增加。在活动分片数为 5 之前,读取都很好。一旦超过 5,KCL 就无法从其中一个分片中读取(tps 正在下降)。

是否有任何我可以设置的配置/参数允许我使用固定的租约数从增长的分片中读取?

0 投票
2 回答
503 浏览

amazon-ec2 - 在多个 EC2 实例上运行的同一个 Kinesis Consumer

我有多个 EC2 实例为同一个微服务运行,该微服务有一个 Kinesis 消费者正在运行(使用 KCL)。

我的问题是,当 Kinesis 流收到一个新事件时,由于所有消费者都在轮询,所有实例的消费者是否会消费同一个事件?

0 投票
0 回答
157 浏览

amazon-web-services - AWS KCL C# 不处理记录

所以我是 AWS Kinesis 的新手,我有一个基础生产者可以很好地使用我的默认配置文件,该配置文件在商店中有我的 IAM 用户详细信息。

我可以看到生产者将消息发送到单个流分片。这都很好。

我知道有一个 Kinesis Data Stream API 使用者也使用 AmazonKinesisClient。但我读到的首选方法是使用 KCL 库

https://github.com/awslabs/amazon-kinesis-client-net

所以我从上面的链接下载了示例消费者,并做了以下

  1. 确保我有用于 SampleConsumer 应用程序的 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 的环境变量
  2. 确保我安装了 Java
  3. 编辑 SampleConsumer 命令行参数以包含“--properties kcl.properties --execute”
  4. 确保 kcl.properties 文件具有正确的 streamName/executableName/regionName(我将其更改为与生产者/我的 AWS 账户的区域匹配,所以 eu-west-2)

然后,当我使用 SampleProducer 从上面运行 SampleConsumer 时,我看到的 SampleConsumer 只是一个空白控制台应用程序。

制作人100%没问题。

有人有想法么?

0 投票
1 回答
147 浏览

amazon-kinesis - KCL 应用程序在使用多个流时不会占用所有分片

我有一个使用 KCL 开发的消费者应用程序。应用程序为每个流创建一个Worker,并且每个流都有多个分片。在不同的执行中,应用程序采用不同数量的分片,并且不会占用所有分片。我只运行一个应用程序实例,我希望消耗所有分片。哪里可能有问题,所以我可以寻找解决它?

谢谢

0 投票
1 回答
480 浏览

java - 是否可以无延迟地按需读取 Kinesis 流

我有以下用例

  • 我有包含用户数据的运动流。
  • 我想根据用户操作读取运动流。
  • 根据用户输入过滤记录,保持过滤一段时间,比如说 5 分钟。
  • 继续将这些过滤后的批次返回给用户 5 分钟。
  • 超时后停止读取运动

问题:有没有使用 KCL 或任何其他库按需阅读 kinesis 的方法,而不会出现任何延迟。Ley 说我可以设置当前未读取的 KCL jvm 应用程序,只要它获得用户操作,就开始阅读。同样,在超时或进一步的用户操作后停止阅读。

我可以编写一个可以做到这一点的逻辑,但想知道 KCL 中是否内置了任何东西。

0 投票
1 回答
4924 浏览

amazon-web-services - AWS Kinesis 流检查点

我有一个能够处理重复的 Kinesis 流记录的应用程序。我们正在考虑在处理故障方面可以采取的方法。并提出了以下方法:

如果在 期间捕获到异常processRecords,则应用程序不会检查点。通过这样做,记录将与下一批一起再次发送,间接执行重试。

所以我的问题是 - 当涉及到 Kinesis 流的检查点时,应用程序是否应该总是定期检查点?操纵检查点机制是否被视为反模式?

谢谢

0 投票
1 回答
269 浏览

java - 在单个 Java 进程中处理多个 Kinesis 流

我想在同一个 Java 进程中使用 KCL 处理多个 Kinesis 流。

这个想法很简单:为每个流创建一个新的 KCL 实例,然后同时运行工作程序。

我的问题是在这种情况下是否所有 KCL 实例都使用相同的线程池,以及在处理流处理时这个想法是否是一种好的/常见的做法。

谢谢

0 投票
1 回答
60 浏览

amazon-web-services - aws KCL(Kinesis 客户端库)库在构建时抛出错误

我正在关注此链接以启动 Amazon KCL、Kinesis 客户端库,因为我需要使用 nodeJ。我在这里执行步骤: https://github.com/awslabs/amazon-kinesis-client 但是当我运行 mvn clean install -Dgpg.skip=true 时,我收到如下错误:

那里有什么问题?aws kcl 还在工作吗?

0 投票
0 回答
141 浏览

aws-lambda - aws Lambda 上的 EMR 与 KCL

我们计划使用来自 Kinesis 流的消息。我们需要一一处理事件数据(无窗口,无聚合),我们可以看到从 kinesis 流中读取数据的多个选项:

Kinesis 消费者库

Lambda 函数

EMR 上的 Spark/Flink 流式传输

有人可以分享一下何时应该优先选择一种选择吗?

提前致谢