View a markdown version of this page

Cómo funciona la entrega de mesas en streaming - Amazon Kinesis Data Streams

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo funciona la entrega de mesas en streaming

Utilice este tema para obtener información sobre cómo una entrega en streaming en tablas envía los registros de su transmisión de Amazon Kinesis Data Streams a tablas de streaming de Apache Iceberg respaldadas por grupos de tablas de S3, lo que incluye la conversión de registros, la creación de tablas de destino, la creación de particiones, la actualización de los datos, la cola de mensajes muertos y el cifrado.

Cómo funciona la entrega

Una entrega en tabla de streaming envía los registros a una tabla de streaming en Apache Iceberg siguiendo estos pasos:

  1. Lectura: la entrega lee los registros de todos los fragmentos de la transmisión de Kinesis Data Streams.

  2. Búfer: la entrega almacena en búfer los registros hasta que se alcanza el intervalo de actualización de los datos.

  3. Validar y convertir: la entrega valida cada registro comparándolo con el esquema de Schema Registry y lo convierte en el AWS Glue esquema de tablas de Apache Iceberg. Los registros que no se validan pasan a la cola de correo muerto.

  4. Compactación y escritura: la entrega convierte los registros en archivos Apache Parquet optimizados mediante la compactación en línea y los escribe en la tabla Iceberg de destino.

  5. Confirmar: la entrega confirma los nuevos archivos en la tabla Iceberg para que los datos puedan consultarse.

Conversión de registros

La entrega de la tabla de streaming requiere un esquema registrado en AWS Glue Schema Registry. La entrega usa el esquema para convertir los registros entrantes en el esquema de tablas de Apache Iceberg. Es compatible con los siguientes formatos de registro de entrada:

  • JSON: registros JSON simples. Usted proporciona un GSRSchemaARN que hace referencia a un esquema registrado en AWS Glue Schema Registry.

  • GSR_JSON: registros JSON con el ID de esquema incorporado en cada registro por el serializador de AWS Glue Schema Registry. El esquema se resuelve automáticamente desde Schema Registry. AWS Glue

Para obtener información completa sobre las reglas de asignación de campos y mapeo de tipos de AWS Glue Schema Registry a Iceberg, consulte. Comportamientos de iceberg para la tabla de streaming

Tabla de destino

Al crear una entrega en tabla de streaming, Amazon Kinesis Data Streams crea la tabla Iceberg de destino en el bucket de tablas de S3 que especifique. Proporcione lo siguiente:

  • ARN del bucket de tabla: el ARN del bucket de tabla de S3 en el que se creó la tabla.

  • Espacio de nombres: el espacio de nombres de la tabla.

  • Nombre de la tabla: el nombre de la tabla que se va a crear. Cada entrega crea su propia tabla. No puedes realizar entregas en una mesa existente.

  • Columna de partición: timestamptz columna que se usa para particionar la tabla por hora. Para conocer los requisitos de partición, consulteComportamientos de iceberg para la tabla de streaming.

Actualización de datos

La actualización de los datos define el tiempo máximo de almacenamiento en búfer antes de que se entreguen los registros. Puede configurar este valor entre 300 y 900 segundos (de 5 a 15 minutos). El valor predeterminado es de 300 segundos. Los valores más bajos proporcionan una entrega más rápida, mientras que los valores más altos producen menos archivos de mayor tamaño en el destino.

Dead-letter cola

Se requiere una cola de correo muerto para la entrega de tablas en streaming. Usted especifica un bucket de Amazon S3 que recibe información sobre los registros que no se validan. Debe proporcionar el ARN del bucket, el propietario esperado del bucket y un prefijo de salida de error opcional. La cola de mensajes inactivos contiene los identificadores de registro y el contexto del error, no la carga útil completa de los registros.

Cifrado

La entrega en tablas de streaming cifra los datos entregados en reposo en Amazon S3. De forma predeterminada, los datos se cifran con las claves administradas de Amazon S3 (SSE-S3). En su lugar, puede usar una AWS KMS clave gestionada por el cliente (SSE-KMS).

importante

No puede usar un Clave administrada de AWS (el aws/kinesis alias) para el cifrado de destino. Debe utilizar una AWS KMS clave gestionada por el cliente. Además, si la transmisión de datos de Kinesis de origen está cifrada con un Clave administrada de AWS, no podrá crear una entrega. Para conocer los requisitos de cifrado de la transmisión de origen, consulteCifrado de secuencias de origen. Para conocer los AWS KMS permisos que necesita la función de ejecución del servicio, consultePermisos de IAM para la entrega de datos.

Cross-account y entrega entre regiones

La entrega en streaming en tablas no admite la entrega entre cuentas o regiones. La transmisión de origen, el bucket de tablas de S3 de destino y el registro de AWS Glue esquemas deben estar todos en la misma Cuenta de AWS región.