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.
Rubriques
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
-
Connectez-vous à votre compte avec les informations d'identification d'administrateur pour la validation suivante.
-
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
. -
Exécutez le crawler en suivant les instructions indiquées ici.
-
Consultez le tableau Glue.
-
Accédez à AWS Glue → Tables.
-
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.
-
Amazon Athena — Pour plus d'informations, consultez la section Présentation des tables, des bases de données et des catalogues de données dans le guide de l'utilisateur d'Amazon Athena.
-
Amazon Redshift Spectrum — Pour plus d'informations, consultez la section Interrogation de données externes à l'aide d'Amazon Redshift Spectrum dans le manuel Amazon Redshift Database Developer Guide.
-
Amazon EMR — Pour plus d'informations, consultez la section Utiliser des politiques basées sur les ressources pour l'EMRaccès d'Amazon à AWS Glue Data Catalog dans le guide de EMR gestion Amazon.
-
AWS Client Glue Data Catalog pour Apache Hive Metastore — Pour plus d'informations sur ce GitHub projet, voir Client AWS Glue Data Catalog pour Apache
Hive Metastore.