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.
Configuración del flujo de Firehose
Para crear un flujo de Firehose con las tablas de Apache Iceberg como destino, debe configurar lo siguiente.
nota
La configuración de una transmisión Firehose para la entrega a las tablas de los buckets de tablas de S3 es la misma que la de las tablas Apache Iceberg de Amazon S3.
Configuración del origen y el destino
Para enviar datos a las tablas de Apache Iceberg, elija el origen del flujo.
Para configurar el origen del flujo, consulte Configurar los ajustes del origen.
A continuación, elija Tablas de Apache Iceberg como destino y proporcione un nombre de flujo de Firehose.
Configuración de transformación de datos
Para realizar transformaciones personalizadas en los datos, como añadir o modificar registros en el flujo entrante, puede añadir una función de Lambda al flujo de Firehose. Para obtener más información sobre la transformación de datos mediante Lambda en un flujo de Firehose, consulte Transformación de los datos de origen en Amazon Data Firehose.
En el caso de las tablas de Apache Iceberg, debe especificar cómo desea enrutar los registros entrantes a las distintas tablas de destino y las operaciones que desea realizar. Una de las formas de proporcionar la información de enrutamiento necesaria a Firehose es mediante una función de Lambda.
Para obtener más información, consulte Enrutar los registros a diferentes tablas de Iceberg.
Conectar catálogo de datos
Apache Iceberg requiere un catálogo de datos para escribir en las tablas de Apache Iceberg. Firehose se integra con AWS Glue Data Catalog las tablas Apache Iceberg.
Puedes usarlo AWS Glue Data Catalog en la misma cuenta que tu transmisión de Firehose o en una cuenta cruzada y en la misma región que tu transmisión de Firehose (predeterminado), o en una región diferente.
Configuración de expresiones JQ
En el caso de las tablas de Apache Iceberg, debe especificar cómo desea enrutar los registros entrantes a las diferentes tablas de destino y las operaciones que desea realizar, como insertar, actualizar y eliminar. Puede hacerlo configurando expresiones JQ para que Firehose las analice y obtenga la información requerida. Para obtener más información, consulte Proporcione información de enrutamiento a Firehose con expresión JSONQuery.
Configure claves únicas
Actualizaciones y eliminaciones con más de una tabla: las claves únicas son uno o más campos del registro de origen que identifican de forma exclusiva una fila en las tablas de Apache Iceberg. Si tiene un escenario de inserción único con más de una tabla, no tiene que configurar claves únicas. Si desea realizar actualizaciones y eliminaciones en determinadas tablas, debe configurar claves únicas para las tablas requeridas. Tenga en cuenta que la actualización insertará automáticamente la fila si falta en las tablas. Si solo tiene una tabla, puede configurar claves únicas.
Puede configurar claves únicas por tabla como parte de la creación de transmisiones de Firehose o puede configurarlas de identifier-field-idsidentifier-field-ids
si hay tablas obligatorias y las usará como claves únicas. Si ninguna está configurada, se produce un error en la entrega de los datos con las operaciones de actualización y eliminación.
Para configurar esta sección, proporcione el nombre de la base de datos, el nombre de la tabla y las claves únicas de las tablas en las que desee actualizar o eliminar datos. Solo puede tener una entrada para cada tabla de la configuración. Si lo desea, también puede optar por proporcionar un prefijo de bucket de errores si los datos de la tabla no se entregan, como se muestra en el siguiente ejemplo.
[ { "DestinationDatabaseName": "MySampleDatabase", "DestinationTableName": "MySampleTable", "UniqueKeys": [ "COLUMN_PLACEHOLDER" ], "S3ErrorOutputPrefix": "OPTIONAL_PREFIX_PLACEHOLDER" } ]
Especificación de duración de reintento
Puede usar esta configuración para especificar el tiempo en segundos durante el que Firehose debe volver a intentarlo si encuentra errores al escribir en las tablas de Apache Iceberg en Amazon S3. Puede establecer cualquier valor entre 0 y 7200 segundos para realizar los reintentos. De forma predeterminada, Firehose vuelve a intentarlo durante 300 segundos.
Gestión de la entrega o el procesamiento fallidos
Debe configurar Firehose para que entregue los registros a un bucket de copias de seguridad de S3 en caso de que se produzcan errores en el procesamiento o la entrega de un flujo una vez transcurrido el periodo de reintento. Para ello, configure el bucket de copias de seguridad de S3 y el prefijo de salida de error del bucket de copias de seguridad de S3 desde la Configuración de copias de seguridad de la consola.
Configuración de sugerencias de búfer
Firehose almacena en búfer una cantidad determinada de datos de streaming de entrada (Tamaño del almacenamiento en búfer) y durante un periodo determinado (Intervalo de almacenamiento en búfer) antes de entregarlos en las tablas de Apache Iceberg. Puedes elegir un tamaño de búfer de 1 a 128 segundos MiBs y un intervalo de búfer de 0 a 900 segundos. Un mayor número de sugerencias de búfer se traduce en un menor número de escrituras en S3, un menor costo de compactación debido a que los archivos de datos son más grandes y una ejecución de consultas más rápida, pero con una latencia más alta. Los valores de sugerencia de búfer más bajos proporcionan los datos con una latencia más baja.
Configuración de opciones avanzadas
Puede configurar el cifrado del lado del servidor, el registro de errores, los permisos y las etiquetas para sus tablas de Apache Iceberg. Para obtener más información, consulte Configuración de opciones avanzadas. Debe añadir el IAM rol que creó como parte del. Requisitos previos para utilizar las tablas de Apache Iceberg como destino Firehose lo asumirá para acceder a las tablas de AWS Glue y escribir en los buckets de Amazon S3.
La creación del flujo de Firehose puede tardar varios minutos en completarse. Después de crear correctamente el flujo de Firehose, puede empezar a ingerir datos en este y verlos en las tablas de Apache Iceberg.