Eu tenho um aplicativo de nó que coloca eventos em um fluxo do Kinesis. Se a chave de partição for diferente, é possível que esses dois eventos entrem no mesmo fragmento? O kinesis está configurado para ser sob demanda
relate perguntas
-
Adicionar número de série para atividade de cópia ao blob
-
A fonte dinâmica do empacotador duplica artefatos
-
Selecione linhas por grupo com 1s consecutivos
-
Lista de chamada de API de gráfico subscritoSkus estados Privilégios insuficientes enquanto os privilégios são concedidos
-
Função para criar DFs separados com base no valor da coluna
Sim, é possível enviar registros com chaves de partição diferentes para o mesmo fragmento. Isso ocorre porque o kinesis usa um algoritmo de hash MD5 para determinar a localização do fragmento para os eventos. Se o algoritmo de hash produzir os mesmos intervalos de chaves de hash para duas chaves de partição diferentes, esses eventos serão enviados para o mesmo fragmento.
Sim, é possível, pois você não terá um mapeamento 1:1 de fragmentos e chaves de partição.
Cada fragmento será responsável por um intervalo de valores. Sua chave de partição terá hash MD5 e isso determinará a qual fragmento ela pertence.
Chave de partição
Uma chave de partição é usada para agrupar dados por fragmento em um fluxo. O Kinesis Data Streams separa os registros de dados pertencentes a um stream em vários fragmentos. Ele usa a chave de partição associada a cada registro de dados para determinar a qual fragmento pertence um determinado registro de dados. As chaves de partição são strings Unicode, com um limite máximo de comprimento de 256 caracteres para cada chave. Uma função hash MD5 é usada para mapear chaves de partição para valores inteiros de 128 bits e para mapear registros de dados associados a fragmentos usando os intervalos de chaves hash dos fragmentos. Quando um aplicativo coloca dados em um fluxo, ele deve especificar uma chave de partição.
fonte