As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Conceitos de entrega de dados
Use este tópico para analisar os principais conceitos de tabelas de streaming e entrega do Amazon S3 no Amazon Kinesis Data Streams.
Atualização de dados
A atualização dos dados define o tempo máximo (em segundos) durante o qual o Kinesis Data Streams armazena em buffer os registros recebidos antes de entregá-los ao destino. Você pode configurar a atualização dos dados entre 300 e 900 segundos (5 a 15 minutos). O valor de padrão é de 300 segundos.
-
Valores mais baixos — Entrega mais rápida no seu destino com lotes menores.
-
Valores mais altos — agrupamento em lotes mais eficiente, que produz menos arquivos maiores no destino.
Formatos de entrada para tabelas de streaming
Ao entregar para tabelas de streaming no Apache Iceberg, a entrega de dados suporta os seguintes formatos de registro de entrada. Ambos os formatos exigem o AWS Glue Schema Registry.
-
JSON — registros JSON simples. Você deve fornecer um
GSRSchemaARN(o de um esquema do AWS Glue Schema Registry) que faça referência a um esquema registrado no AWS Glue Schema Registry. -
GSR_JSON (AWS Glue Schema Registry JSON) — registros JSON com o ID do esquema incorporado em cada registro. O esquema é resolvido automaticamente no AWS Glue Schema Registry.
Formatos de entrada para buckets Amazon S3 de uso geral
Ao entregar para buckets Amazon S3 de uso geral, a entrega de dados suporta os seguintes formatos de registro de entrada. Nenhum registro de esquema é necessário.
-
JSON — registros JSON simples.
-
STRING — registros de UTF-8 string.
-
BYTE_ARRAY — registros binários brutos.
nota
O GSR_JSON formato não é compatível com buckets do Amazon S3 de uso geral. Ele está disponível somente para entrega em mesas de streaming no Apache Iceberg.
Aplicação do esquema
Para tabelas de streaming no Apache Iceberg, cada registro é validado com base no esquema registrado no Schema Registry. AWS Glue Os registros que não estão em conformidade com o esquema não são entregues à sua tabela de streaming. Os metadados de falha são gravados na fila de mensagens mortas para solução de problemas. A entrega de dados não suporta a evolução do esquema. Isso inclui adicionar novos campos, remover campos existentes, renomear campos ou alterar os tipos de dados do campo.
Sem preenchimento
Seu destino recebe somente registros produzidos após você criar a tabela de streaming ou configurar a entrega do S3. Os registros existentes no stream não são preenchidos.
Nova tabela por entrega
Cada entrega de mesa de streaming cria sua própria mesa Iceberg no destino. A entrega em tabelas existentes não é suportada. Você especifica o ARN, o namespace e o nome da tabela do bucket de tabela ao chamar. CreateChannel
Dead-letter fila
Uma fila de cartas mortas captura informações sobre registros que não puderam ser entregues com êxito.
-
Tabelas de streaming no Apache Iceberg — é necessária uma fila de cartas mortas. Você deve especificar um bucket e um prefixo do S3 para registros com falha.
-
Buckets Amazon S3 de uso geral — uma fila de cartas mortas é opcional. Se não for especificado, o padrão é o mesmo bucket de destino com um prefixo de erro.
A fila de cartas mortas contém identificadores de registro e contexto de erro, não cargas de registro completas.
Compactação em linha
A entrega de dados executa a compactação em linha agregando registros em fragmentos em arquivos de tamanho ideal. Isso reduz o número de arquivos pequenos no destino e melhora o desempenho da consulta.
Estados de entrega
Uma entrega passa pelos seguintes estados durante seu ciclo de vida:
-
CRIANDO — a entrega está sendo provisionada.
-
ATIVO — a entrega está entregando registros.
-
ATUALIZAÇÃO — uma alteração de configuração está em andamento.
-
EXCLUINDO — a entrega está sendo removida.
-
FALHA — a entrega encontrou um erro irrecuperável.
Append-only entrega
A entrega é somente anexada. Não há suporte para atualizações e ajustes. Cada registro do stream é gravado como uma nova linha no destino.