当前位置: 首页 > 知识库问答 >
问题:

运动碎片VS分区键

曾永新
2023-03-14

如果在创建Kinesis数据流时,我指定了碎片的数量,比如说10个,并且每次我放入记录时,我都会给它分配一个随机分区键,如下所示:

 var putRecord = new PutRecord
            {
                Data = data ?? new byte[0],
                StreamName = stream,
                PartitionKey = GetRandomPartitionKey()
            };

kinesis将如何决定将记录放入某个碎片中,如果唯一分区键的数量大于碎片的数量,会发生什么情况?

共有1个答案

宗政欣可
2023-03-14

哈希和模运算。

对分区键进行哈希运算,然后除以碎片数。除法的模决定了要使用的碎片。这样,分区键总是使用相同的碎片。如果更改了碎片的数量,则分配将不同。

这是许多系统中使用的常用方法。例如,Python字典的内部存储使用此方法为键/值对分配存储。

 类似资料:
  • 我可以使用一个片段作为一个活动吗?我已经创建了一个片段,但我希望它有像活动一样的功能,所以我使用片段扩展碎片活动。然而,我有一个带有碎片的导航抽屉。当我更改为“扩展碎片活动”时,我的代码有问题?请给我指路。

  • 由于不推荐使用TabActivity,我需要找到一种方法来使用片段。在我知道它如何工作之前,我已经使用了碎片,但我需要一个指南来创建我的标签主机与碎片活动。我在互联网上找到了几个例子,它们都是关于将片段放入标签的容器中的。

  • 这似乎是一个具有挑战性的动画,但我有一种感觉,这可以很容易地完成。我正在尝试实现如下所示的片段之间的动画(请参阅第二和第三象限) 进入和退出并不难,但是预显示下一张和上一张卡片的屏幕以及无缝切换到下一张卡片超出了我的知识范围。如果有人制作过类似的动画,请给我一些指点。 编辑 Android的官方文档在点击时过渡,即当用户点击页面缩小以显示最后一页和上一页时,滑动将其移动到下一页。我的要求是将页面保

  • 我已经读过一些关于动画片和多个消费者的问题,但我仍然不明白它是如何工作的。 我的用例:我有一个只有一个分片的运动流。我想使用不同的lambda函数使用这个分片,每个函数都独立。就像每个lambda函数都有自己的分片迭代器一样。 有可能吗?是否设置多个lambda使用者(基于流)从同一流/碎片读取?

  • 我正试着从动觉碎片中获取记录。我循环获取碎片迭代器,然后获取迭代器中的记录。我似乎得到了无数个迭代器,其中没有一个包含任何记录。 我的问题涉及迭代器的寿命。考虑到Kinesis只能保存24小时的数据,迭代器的寿命应该是5分钟,我不应该在任何时间点看到最多288个迭代器吗?

  • 本文向大家介绍内部碎片与外部碎片之间的区别,包括了内部碎片与外部碎片之间的区别的使用技巧和注意事项,需要的朋友参考一下 在从内存中加载和删除进程时,可用内存空间会分成几小块。考虑到有时由于无法将进程分配给存储块而导致其无法使用,因此有时无法将其分配给存储块。此问题称为碎片。 内部碎片 分配给进程的内存块更大。内存的某些部分未使用,因为它不能被其他进程使用。通过有效分配最小的分区但足够大的分区,可以