问题标签 [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 投票
1 回答
2474 浏览

amazon-web-services - 如果在将 KCL 与 AWS Kinesis 流结合使用时,工作人员的数量大于分片数量,会发生什么情况?

AWS Kinesis 流文档提到

通常,在使用 KCL 时,应确保实例数不超过分片数

如果实例数超过分片数会产生什么后果?我计划在每台 Web 服务器(单独的线程)上运行一名工作人员。所以我想知道当一个新的 Web 服务器实例启动时,是否需要检查和比较分片和正在运行的工作人员的数量。或者,如果工人数量超过分片数量,是否可以只启动另一个工人而没有任何副作用。

0 投票
1 回答
1192 浏览

node.js - Amazon 的 Kinesis 客户端库可以使用多个流吗?

我有一个快速的问题。KCL 是否能够从多个流中消费?您是否应该为您的应用程序设置多个流,或者是否应该将单个流与单个应用程序绑定?我的特定用例是我需要使用从后端和前端生成的数据。其中一个以比另一个更高的速率生成数据,因此认为它们应该生成单独的流进行处理。有没有办法从同一个 KCL 进程中消耗两个流,还是我需要设置两个?谢谢你的帮助!

0 投票
2 回答
932 浏览

amazon-web-services - Kinesis 如何在工作人员之间分配分片?

当将相邻的分片分散到多个工人身上时,是否有任何尝试将它们保持在一起?在文档示例中,它从 1 个工作人员/实例和 4 个分片开始。然后发生了自动缩放并启动了第二个工作人员/实例。KCL 自动将 2 个分片移动到 worker 2。在自动缩放时是否尝试将相邻的分片与 worker 保持在一起?分片的时候怎么办?

谢谢

0 投票
2 回答
1350 浏览

amazon-kcl - 错误:无法找到或加载主类 com.amazonaws.services.kinesis.multilang.MultiLangDaemon

有什么问题??我按照本教程运行 amazon kinesis。 https://github.com/awslabs/amazon-kinesis-client-python

我一直到最后一步,这会给我命令行。这是我的命令行

我使用 python 2.7.11 作为代码和 windows 8.1。对于我用来生成命令行的命令: python samples\amazon_kclpy_helper.py --print_com mand --java "c:\Program Files\Java\jdk1.7.0_79\bin\java.exe" --properties sample s\样本.properties

我错过了什么?

0 投票
2 回答
1602 浏览

c# - 如何使用 KCL C# 重放 Kinesis 记录

我想按给定的时间跨度(或开始时间)重播 Kinesis 记录

用例:

在应用程序失败时,某些流记录可能会被视为已处理,但实际上并未最终确定。即未保存在本地数据存储中。等系统恢复时,我们想提前 30 分钟(或任何给定数量)开始处理当前检查点的记录。

我遇到了这个https://github.com/scopely/kinesis-vcr 它将 Kinesis 记录保存到 S3 中,然后从 S3 重播事件

我想知道是否可以在没有 s3 的情况下重播记录,因为 Kinesis 将记录保存 24 小时。24小时足够长。

0 投票
2 回答
1387 浏览

java - 将 Kinesis 客户端库 (KCL) 日志转储到文件

我正在使用 Kinesis 客户端库 (KCL) 订阅 kinesis 流。所有 KCL 日志都打印在控制台上。我需要将所有日志转储到文件中。我尝试在 src 文件夹中添加 log4j.properties 和 common-logging.properties 文件,但无法整理。

0 投票
1 回答
189 浏览

python - python KCL连接到kinesis流时出现异常

我正在尝试将 kinesis 集成到火花流中,为此我正在使用 python 和 KCL。从 kinesis 阅读时,我大多数时候都会遇到这个异常

“utf8”编解码器无法解码位置 940 中的字节 0xf1:无效的继续字节

有人可以让我知道我该如何解决这个问题这就是我创建流的方式

0 投票
1 回答
299 浏览

amazon-web-services - 处理 Kinesis 流中的时间序列数据的选项有哪些

我需要处理来自 AWS Kinesis 流的数据,该流从设备收集事件。在过去 10 秒内收到的所有事件必须每秒调用处理函数。


说,我有两个设备 A 和 B 将事件写入流。我的过程的名称为 MyFunction 并采用以下参数:

  • 设备ID
  • 一段时间的数据数组

如果我在 10:00:00 开始处理(并且在过去 10 秒内已经积累了设备 A 和 B 的事件),那么我需要拨打两个电话:

  • MyFunction(А, {设备 A 从 09:59:50 到 10:00:00 的事件})
  • MyFunction(B, {设备 B 从 09:59:50 到 10:00:00 的事件})

下一秒,10:00:01

  • MyFunction(А, {设备 A 从 09:59:51 到 10:00:01 的事件})
  • MyFunction(B, {设备 B 从 09:59:51 到 10:00:01 的事件})

等等。


看起来累积从设备接收到的所有数据的最简单方法是将其内存存储在临时缓冲区中(当然只有最后 10 秒),所以我想先尝试一下。

我发现保存这种基于内存的缓冲区的最方便的方法是创建一个基于 Java Kinesis Client Library (KCL) 的应用程序。

我也考虑过基于 AWS Lambda 的解决方案,但看起来不可能将数据保存在内存中以供 lambda 使用。Lambda 的另一种选择是拥有 2 个函数,第一个函数必须将所有数据写入 DynamoDB,第二个函数每秒被调用以处理从数据库中获取的数据,而不是从内存中获取的数据。(所以这个选项要复杂得多)

所以我的问题是:实现这种处理的其他选择是什么?

0 投票
2 回答
1714 浏览

java - kinesis 从多个分片获取数据

我正在尝试构建一个从 AWS Kinesis 读取数据的简单应用程序。我已经设法使用单个分片读取数据,但我想从 4 个不同的分片中获取数据。

问题是,我有一个 while 循环,只要分片处于活动状态,它就会迭代,这会阻止我从不同的分片读取数据。到目前为止,我找不到替代算法,也无法实现基于 KCL 的解决方案。提前谢谢了

0 投票
1 回答
275 浏览

amazon-dynamodb - Kinesis 客户端库 DynamoDB 适配器会丢失数据吗

此处发布在 github 上的DynamoDB Streams Kinesis Adapter具有此功能,注释如下:

Kinesis 模型在父分片合并的情况下提供相邻的父分片 ID。由于 DynamoDB Streams 不支持合并,因此始终返回 null。

我对此感到担忧,我将使用 7 个分片的示例来描述我的担忧,为简单起见,我们将它们命名为06

0的父级由于保留策略不再可用,1,2,3,4,5由于 DynamoDB 表上的高流量是兄弟级,它们都以0作为父级,6是当前打开的分片和是合并的结果,因为 DynamoDB 表上的流量峰值下降了。我还将假设它只能有一个父级,因此它的父级随机为3

那么,这是否意味着如果我们使用此适配器针对具有上述状态的 DynamoDB 流启动 Worker,只会开始处理分片0、36