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 Timestream para UNLOAD LiveAnalytics
Suponga que está monitoreando las métricas de sesión de los usuarios, las fuentes de tráfico y las compras de productos de su sitio web de comercio electrónico. Utiliza 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 atraen 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 CSV formato.
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')
Particionar los datos por canal
Desea exportar los datos de los dos últimos días en CSV formato, pero le gustaría tener los datos de cada canal de tráfico en una carpeta independiente. Para ello, debe particionar los datos mediante la channel
columna 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')
Particionar los datos por evento
Desea exportar los datos de los dos últimos días en CSV formato, pero le gustaría tener los datos de cada evento en una carpeta independiente. Para ello, debe particionar los datos mediante la event
columna, tal y como 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')
Particionar los datos por canal y evento
Desea exportar los datos de los dos últimos días en CSV formato, pero le gustaría que los datos de cada canal y, dentro del canal, almacenaran cada evento en una carpeta independiente. Para ello, debe particionar los datos utilizando ambas event
columnas, tal channel
y como 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 UNLOAD ejecución. 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. <queryid>El archivo de metadatos está disponible en el bucket de S3 proporcionado con un nombre de archivo: S3: //bucket_name/ _< >_metadata.json UUID
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 la que ColumnInfo
se envía en la API respuesta a las SELECT
consultas.
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 una base de datos de Crawler for Glue siguiendo las instrucciones que se proporcionan aquí. Tenga en cuenta que la carpeta S3 que se debe proporcionar en la fuente de datos debe ser la carpeta de
UNLOAD
resultados, por ejemplo.s3://my_timestream_unloads/results
-
Ejecute el rastreador siguiendo las instrucciones que se indican aquí.
-
Vea la tabla de Glue.
-
Ve a AWS Glue → Tables.
-
Verás una nueva tabla creada con el prefijo de tabla proporcionado al crear el rastreador.
-
Puede ver la información del esquema y la partició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 catálogos de datos en la Guía del usuario de Amazon Athena.
-
Amazon Redshift Spectrum: para obtener más información, consulte Consulta de datos externos con Amazon Redshift Spectrum en la Guía para desarrolladores de bases de datos de Amazon Redshift.
-
Amazon EMR: para obtener más información, consulta Cómo usar políticas basadas en recursos para el EMR acceso de Amazon al catálogo de datos de AWS Glue en la Guía de EMR administración de Amazon.
-
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.