Prácticas recomendadas para UNLOAD from Timestream para LiveAnalytics - Amazon Timestream

Para obtener capacidades similares a las de Amazon Timestream, considere Amazon Timestream LiveAnalytics para InfluxDB. Ofrece una ingesta de datos simplificada y tiempos de respuesta a las consultas en milisegundos de un solo dígito para realizar análisis en tiempo real. Obtenga más información aquí.

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.

Prácticas recomendadas para UNLOAD from Timestream para LiveAnalytics

A continuación, se muestran las prácticas recomendadas relacionadas con la instrucción UNLOAD.

  • La cantidad de datos que se pueden exportar al bucket de S3 mediante el comando UNLOAD no está limitada. Sin embargo, la consulta agota el tiempo de espera en 60 minutos y recomendamos no exportar más de 60 GB de datos en una sola consulta. Si necesita exportar más de 60 GB de datos, divida el trabajo en varias consultas.

  • Si bien puede enviar miles de solicitudes a S3 para cargar los datos, se recomienda paralelizar las operaciones de escritura con varios prefijos de S3. Consulte la documentación aquí. La frecuencia de llamadas a la API de S3 podría reducirse cuando se accede a la misma carpeta de forma múltiple readers/writers .

  • Dado el límite de longitud de las claves de S3 para definir un prefijo, recomendamos que los nombres del bucket y de las carpetas tengan entre 10 y 15 caracteres, especialmente cuando se utilice una cláusula partitioned_by.

  • Si recibe un 4XX o 5XX para las consultas que contienen la instrucción UNLOAD, es posible que los resultados parciales se escriban en el bucket de S3. Timestream for LiveAnalytics no elimina ningún dato del bucket. Antes de ejecutar otra consulta UNLOAD con el mismo destino de S3, se recomienda eliminar manualmente los archivos creados por la consulta fallida. Puede identificar los archivos escritos por una consulta fallida con la información correspondiente QueryExecutionId. En el caso de las consultas fallidas, Timestream for LiveAnalytics no exporta un archivo de manifiesto al bucket de S3.

  • Timestream for LiveAnalytics utiliza la carga en varias partes para exportar los resultados de las consultas a S3. Cuando recibes un 4XX o 5XX de Timestream para consultas que contienen una sentencia UNLOAD, Timestream LiveAnalytics for LiveAnalytics hace todo lo posible por evitar la carga de varias partes, pero es posible que queden algunas partes incompletas. Por lo tanto, le recomendamos configurar una limpieza automática de las cargas incompletas de varias partes en su bucket de S3 siguiendo las instrucciones que se indican aquí.

Recomendaciones para acceder a los datos en formato CSV mediante el analizador CSV

  • Los analizadores de CSV no permiten utilizar el mismo carácter de delimitador, escape y cita.

  • Algunos analizadores de CSV no pueden interpretar tipos de datos complejos, como las matrices, por lo que recomendamos interpretarlos mediante el deserializador JSON.

Recomendaciones para acceder a los datos en formato Parquet

  1. Si su caso de uso requiere el soporte de caracteres UTF-8 en el esquema, también conocido como nombre de columna, le recomendamos que utilice la biblioteca Parquet-mr.

  2. La marca de tiempo de los resultados se representa como un entero de 12 bytes () INT96

  3. Las series temporales se representarán como array<row<time, value>>, otras estructuras anidadas utilizarán los tipos de datos correspondientes compatibles con el formato Parquet

Uso de la cláusula partition_by

  • La columna utilizada en el campo partitioned_by debe ser la última columna en la consulta de selección. Si se usa más de una columna en el campo partitioned_by, las columnas deben ser las últimas columnas de la consulta de selección y estar en el mismo orden en que se usaron en el campo partition_by.

  • Los valores de las columnas utilizados para dividir los datos (campo partitioned_by) solo pueden contener caracteres ASCII. Mientras que Timestream for LiveAnalytics permite caracteres UTF-8 en los valores, S3 solo admite caracteres ASCII como claves de objeto.