Exemple de cas d'utilisation UNLOAD de From Timestream pour LiveAnalytics - Amazon Timestream

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemple de cas d'utilisation UNLOAD de From Timestream pour LiveAnalytics

Supposons que vous surveillez les statistiques de session utilisateur, les sources de trafic et les achats de produits sur votre site Web de commerce électronique. Vous utilisez Timestream LiveAnalytics pour obtenir des informations en temps réel sur le comportement des utilisateurs, les ventes de produits et effectuer des analyses marketing sur les canaux de trafic (recherche organique, réseaux sociaux, trafic direct, campagnes payantes, etc.) qui dirigent les clients vers le site Web.

Exporter les données sans aucune partition

Vous souhaitez exporter les deux derniers jours de vos données au CSV format.

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')

Partitionnement des données par canal

Vous souhaitez exporter les données des deux derniers jours au CSV format, mais vous souhaitez disposer des données de chaque canal de trafic dans un dossier distinct. Pour ce faire, vous devez partitionner les données à l'aide de la channel colonne, comme indiqué ci-dessous.

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')

Partitionnement des données par événement

Vous souhaitez exporter les données des deux derniers jours au CSV format, mais vous souhaitez disposer des données de chaque événement dans un dossier distinct. Pour ce faire, vous devez partitionner les données à l'aide de la event colonne, comme indiqué ci-dessous.

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')

Partitionnement des données par canal et par événement

Vous souhaitez exporter les données des deux derniers jours au CSV format, mais vous souhaitez que les données de chaque canal soient stockées dans un dossier distinct au sein du canal. Pour ce faire, vous devez partitionner les données en utilisant à la fois event la colonne channel et la colonne, comme indiqué ci-dessous.

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')

Fichiers de manifeste et de métadonnées

Fichier manifeste

Le fichier manifeste fournit des informations sur la liste des fichiers exportés lors de l'UNLOADexécution. Le fichier manifeste est disponible dans le compartiment S3 fourni sous le nom de fichier :S3://bucket_name/<queryid>_<UUID>_manifest.json. Le fichier manifeste contiendra l'URL des fichiers du dossier de résultats, le nombre d'enregistrements et la taille des fichiers respectifs, ainsi que les métadonnées de la requête (c'est-à-dire le nombre total d'octets et le nombre total de lignes exportés vers S3 pour la requête).

{ "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" } }

Metadonnées

Le fichier de métadonnées fournit des informations supplémentaires sur l'ensemble de données, telles que le nom de colonne, le type de colonne et le schéma. <queryid>Le fichier de métadonnées est disponible dans le compartiment S3 fourni sous le nom de fichier : S3 : //bucket_name/ _< >_metadata.json UUID

Voici un exemple de fichier de métadonnées.

{ "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" } }

Les informations de colonne partagées dans le fichier de métadonnées ont la même structure que celle ColumnInfo envoyée dans API la réponse aux SELECT requêtes.

Utiliser les robots d'exploration Glue pour créer le catalogue de données Glue

  1. Connectez-vous à votre compte avec les informations d'identification d'administrateur pour la validation suivante.

  2. Créez une base de données Crawler for Glue en suivant les instructions fournies ici. Veuillez noter que le dossier S3 à fournir dans la source de données doit être le dossier de UNLOAD résultats tel ques3://my_timestream_unloads/results.

  3. Exécutez le crawler en suivant les instructions indiquées ici.

  4. Consultez le tableau Glue.

    • Accédez à AWS GlueTables.

    • Vous verrez une nouvelle table créée avec le préfixe de table fourni lors de la création du crawler.

    • Vous pouvez consulter les informations relatives au schéma et à la partition en cliquant sur la vue détaillée de la table.

Vous trouverez ci-dessous d'autres AWS services et projets open source qui utilisent le catalogue de données AWS Glue.