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.
Ejemplo de caso de uso de UNLOAD from Timestream para LiveAnalytics
Suponga que está supervisando las métricas de las sesiones de los usuarios, las fuentes de tráfico y las compras de los productos de su sitio web de comercio electrónico. Estás utilizando Timestream LiveAnalytics para obtener información en tiempo real sobre el comportamiento de los usuarios y las ventas de productos y realizar análisis de marketing sobre los canales de tráfico (búsquedas orgánicas, redes sociales, tráfico directo, campañas de pago, etc.) que llevan a los clientes al sitio web.
Temas
Exportación de los datos sin particiones
Desea exportar los dos últimos días de sus datos en formato CSV.
UNLOAD(SELECT user_id, ip_address, event, session_id, measure_name, time, query, quantity, product_id, channel FROM sample_clickstream.sample_shopping WHERE time BETWEEN ago(2d) AND now()) TO 's3://<bucket_name>/withoutpartition' WITH ( format='CSV', compression='GZIP')
Particiones de datos por canal
Desea exportar los datos de los dos últimos días en formato CSV, pero le gustaría tener los datos de cada canal de tráfico en una carpeta independiente. Para ello, debe dividir los datos mediante la columna channel que se muestra a continuación.
UNLOAD(SELECT user_id, ip_address, event, session_id, measure_name, time, query, quantity, product_id, channel FROM sample_clickstream.sample_shopping WHERE time BETWEEN ago(2d) AND now()) TO 's3://<bucket_name>/partitionbychannel/' WITH ( partitioned_by = ARRAY ['channel'], format='CSV', compression='GZIP')
Particiones de datos por evento
Desea exportar los datos de los dos últimos días en formato CSV, pero le gustaría tener los datos para cada evento de tráfico en una carpeta independiente. Para ello, debe dividir los datos mediante la columna event que se muestra a continuación.
UNLOAD(SELECT user_id, ip_address, channel, session_id, measure_name, time, query, quantity, product_id, event FROM sample_clickstream.sample_shopping WHERE time BETWEEN ago(2d) AND now()) TO 's3://<bucket_name>/partitionbyevent/' WITH ( partitioned_by = ARRAY ['event'], format='CSV', compression='GZIP')
Dividir los datos por canal y evento
Desea exportar los datos de los dos últimos días en formato CSV, pero le gustaría tener los datos para cada canal y dentro de cada evento del almacén del canal en una carpeta independiente. Para ello, debe dividir los datos mediante la columna channel y event que se muestra a continuación.
UNLOAD(SELECT user_id, ip_address, session_id, measure_name, time, query, quantity, product_id, channel,event FROM sample_clickstream.sample_shopping WHERE time BETWEEN ago(2d) AND now()) TO 's3://<bucket_name>/partitionbychannelevent/' WITH ( partitioned_by = ARRAY ['channel','event'], format='CSV', compression='GZIP')
Archivos de manifiestos y metadatos
Archivo de manifiesto
El archivo de manifiesto proporciona información sobre la lista de archivos que se exportan con la ejecución de UNLOAD. El archivo de manifiesto está disponible en el bucket de S3 proporcionado con un nombre de archivo: S3://bucket_name/<queryid>_<UUID>_manifest.json. El archivo de manifiesto contendrá la URL de los archivos de la carpeta de resultados, el número de registros y el tamaño de los archivos respectivos, y los metadatos de la consulta (que son el total de bytes y filas exportados a S3 para la consulta).
{ "result_files": [ { "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", "file_metadata": { "content_length_in_bytes": 32295, "row_count": 10 } }, { "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", "file_metadata": { "content_length_in_bytes": 62295, "row_count": 20 } }, ], "query_metadata": { "content_length_in_bytes": 94590, "total_row_count": 30, "result_format": "CSV", "result_version": "Amazon Timestream version 1.0.0" }, "author": { "name": "Amazon Timestream", "manifest_file_version": "1.0" } }
Metadatos
El archivo de metadatos proporciona información adicional sobre el conjunto de datos, como el nombre de la columna, el tipo de columna y el esquema. El archivo de metadatos está disponible en el bucket de S3 proporcionado con un nombre de archivo: S3://bucket_name/<queryid>_<UUID>_metadata.json
A continuación, se muestra un ejemplo de un archivo de metadatos.
{ "ColumnInfo": [ { "Name": "hostname", "Type": { "ScalarType": "VARCHAR" } }, { "Name": "region", "Type": { "ScalarType": "VARCHAR" } }, { "Name": "measure_name", "Type": { "ScalarType": "VARCHAR" } }, { "Name": "cpu_utilization", "Type": { "TimeSeriesMeasureValueColumnInfo": { "Type": { "ScalarType": "DOUBLE" } } } } ], "Author": { "Name": "Amazon Timestream", "MetadataFileVersion": "1.0" } }
La información de las columnas que se comparte en el archivo de metadatos tiene la misma estructura que ColumnInfo la que se envía en la respuesta de la API de consultas a las consultas SELECT.
Uso de rastreadores de Glue para crear el catálogo de datos de Glue
-
Inicie sesión en su cuenta con las credenciales de administrador para la siguiente validación.
-
Cree un rastreador para la base de datos de Glue siguiendo las pautas que se proporcionan aquí. Tenga en cuenta que la carpeta S3 que se debe proporcionar en el origen de datos debe ser la carpeta de resultados de
UNLOAD, por ejemplos3://my_timestream_unloads/results. -
Ejecute el rastreador siguiendo las pautas que se indican aquí.
-
Vea la tabla de Glue.
-
Diríjase a AWS Glue → Tablas.
-
Verá una nueva tabla creada con el prefijo de tabla proporcionado al momento de crear el rastreador.
-
Puede ver la información del esquema y la división haciendo clic en la vista de detalles de la tabla.
-
Los siguientes son otros AWS servicios y proyectos de código abierto que utilizan el catálogo de datos de AWS Glue.
-
Amazon Athena: para obtener más información, consulte Descripción de las tablas, bases de datos y el catálogo de datos en la Guía del usuario de Amazon Athena.
-
Amazon Redshift Spectrum: para obtener más información, consulte Uso de Amazon Redshift Spectrum para consultar datos externos en la Guía para desarrolladores de bases de datos Amazon Redshift.
-
Amazon EMR: para obtener más información, consulte Uso de políticas basadas en recursos para el acceso de Amazon EMR al catálogo de AWS datos de Glue en la Guía de administración de Amazon EMR.
-
AWS Cliente de Glue Data Catalog para Apache Hive Metastore: para obtener más información sobre este GitHub proyecto, consulte Cliente de AWS Glue Data Catalog para Apache Hive
Metastore.