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á.
Como funciona a entrega de tabelas de streaming
Use este tópico para saber como uma entrega de tabela de streaming envia registros do seu stream do Amazon Kinesis Data Streams para tabelas de streaming no Apache Iceberg com suporte de buckets de tabela do S3, incluindo conversão de registros, criação de tabelas de destino, particionamento, atualização de dados, fila de letras mortas e criptografia.
Como funciona a entrega
Uma entrega de tabela de streaming envia registros para uma tabela de streaming no Apache Iceberg nas seguintes etapas:
-
Leitura — a entrega lê registros de todos os fragmentos no stream do Kinesis Data Streams.
-
Buffer — os buffers de entrega registram até que o intervalo de atualização dos dados seja atingido.
-
Validar e converter — a entrega valida cada registro em relação ao esquema no Schema Registry e o converte no AWS Glue esquema de tabela Apache Iceberg. Os registros que falham na validação vão para a fila de cartas mortas.
-
Compactar e gravar — a entrega converte registros em arquivos otimizados do Apache Parquet com compactação em linha e os grava na tabela Iceberg de destino.
-
Confirmar — a entrega confirma os novos arquivos na tabela Iceberg para que os dados se tornem consultáveis.
Conversão de registros
A entrega de tabelas de streaming exige um esquema registrado no AWS Glue Schema Registry. A entrega usa o esquema para converter registros recebidos no esquema de tabela Apache Iceberg. Ele suporta os seguintes formatos de registro de entrada:
-
JSON — registros JSON simples. Você fornece um
GSRSchemaARNque faz referência a um esquema registrado no AWS Glue Schema Registry. -
GSR_JSON — registros JSON com o ID do esquema incorporado em cada registro pelo serializador Schema Registry. AWS Glue O esquema é resolvido automaticamente no AWS Glue Schema Registry.
Para ver as regras completas de mapeamento e tratamento de campo do AWS Glue Schema Registry to Iceberg, consulte. Comportamentos de iceberg para tabela de streaming
Tabela de destino
Quando você cria uma entrega de tabela de streaming, o Amazon Kinesis Data Streams cria a tabela Iceberg de destino no bucket de tabelas do S3 que você especificar. Forneça o seguinte:
-
ARN do bucket de tabela — o ARN do bucket de tabela do S3 em que a tabela é criada.
-
Namespace — o namespace da tabela.
-
Nome da tabela — o nome da tabela a ser criada. Cada entrega cria sua própria tabela. Você não pode entregar em uma tabela existente.
-
Coluna de partição — uma
timestamptzcoluna usada para particionar a tabela por hora. Para saber os requisitos de particionamento, consulte. Comportamentos de iceberg para tabela de streaming
Atualização de dados
A atualização dos dados define o tempo máximo de armazenamento em buffer antes que os registros sejam entregues. Você pode configurar esse valor entre 300 e 900 segundos (5 a 15 minutos). O padrão é trezentos segundos. Valores mais baixos fornecem entrega mais rápida, enquanto valores mais altos produzem menos arquivos maiores no destino.
Dead-letter fila
É necessária uma fila de cartas mortas para a entrega de tabelas de streaming. Você especifica um bucket do Amazon S3 que recebe informações sobre registros que falham na validação. Você fornece o ARN do bucket, o proprietário esperado do bucket e um prefixo opcional de saída de erro. A fila de cartas mortas contém identificadores de registro e contexto de erro, não cargas de registro completas.
Criptografia
A entrega de tabelas de streaming criptografa os dados entregues em repouso no Amazon S3. Por padrão, os dados são criptografados com as chaves gerenciadas do Amazon S3 (SSE-S3). Em vez disso, você pode usar uma AWS KMS chave gerenciada pelo cliente (SSE-KMS).
Importante
Você não pode usar um Chave gerenciada pela AWS (o aws/kinesis alias) para criptografia de destino. Você deve usar uma AWS KMS chave gerenciada pelo cliente. Além disso, se o stream de dados de origem do Kinesis estiver criptografado com um Chave gerenciada pela AWS, você não poderá criar uma entrega. Para saber os requisitos de criptografia do fluxo de origem, consulteCriptografia do fluxo de origem. Para obter as AWS KMS
permissões de que a função de execução do serviço precisa, consultePermissões do IAM para entrega de dados.
Cross-account e entrega entre regiões
A entrega de tabelas de streaming não oferece suporte à entrega entre contas ou regiões. O stream de origem, o bucket de tabela do S3 de destino e o AWS Glue Schema Registry devem estar todos na mesma Conta da AWS região.