Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempio di utilizzo di from Timestream per UNLOAD LiveAnalytics
Supponiamo che tu stia monitorando le metriche della sessione utente, le sorgenti di traffico e gli acquisti di prodotti del tuo sito di e-commerce. Stai utilizzando Timestream per LiveAnalytics ottenere informazioni in tempo reale sul comportamento degli utenti, sulle vendite di prodotti ed eseguire analisi di marketing sui canali di traffico (ricerca organica, social media, traffico diretto, campagne a pagamento e altri) che indirizzano i clienti al sito web.
Argomenti
Esportazione dei dati senza partizioni
Vuoi esportare gli ultimi due giorni dei tuoi dati in 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')
Partizionamento dei dati per canale
Desideri esportare i dati degli ultimi due giorni in CSV formato ma desideri avere i dati di ciascun canale di traffico in una cartella separata. A tale scopo, è necessario partizionare i dati utilizzando la channel
colonna, come illustrato di seguito.
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')
Partizionamento dei dati per evento
Desideri esportare i dati degli ultimi due giorni in CSV formato ma desideri avere i dati per ogni evento in una cartella separata. A tale scopo, è necessario partizionare i dati utilizzando la event
colonna, come illustrato di seguito.
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')
Partizionamento dei dati sia per canale che per evento
Desiderate esportare i dati degli ultimi due giorni in CSV formato, ma desiderate che i dati per ogni canale e all'interno del canale memorizzino ogni evento in una cartella separata. A tale scopo, è necessario partizionare i dati utilizzando entrambe channel
le event
colonne, come illustrato di seguito.
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')
File di manifesto e di metadati
File manifest
Il file manifest fornisce informazioni sull'elenco dei file che vengono esportati con l'UNLOADesecuzione. Il file manifest è disponibile nel bucket S3 fornito con un nome di file:. S3://bucket_name/<queryid>_<UUID>_manifest.json
Il file manifest conterrà l'URL dei file nella cartella dei risultati, il numero di record e le dimensioni dei rispettivi file e i metadati della query (ovvero i byte totali e le righe totali esportati in S3 per la query).
{ "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" } }
Metadati
Il file di metadati fornisce informazioni aggiuntive sul set di dati come il nome della colonna, il tipo di colonna e lo schema. <queryid>Il file di metadati è disponibile nel bucket S3 fornito con un nome di file: S3: //bucket_name/ _< >_metadata.json UUID
Di seguito è riportato un esempio di file di metadati.
{ "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" } }
Le informazioni sulle colonne condivise nel file di metadati hanno la stessa struttura di quelle ColumnInfo
inviate in Query API Response for SELECT
Query.
Utilizzo dei crawler Glue per creare Glue Data Catalog
-
Accedi al tuo account con le credenziali di amministratore per la seguente convalida.
-
Crea un database Crawler for Glue utilizzando le linee guida fornite qui. Tieni presente che la cartella S3 da fornire nell'origine dati dovrebbe essere la cartella dei risultati, ad esempio.
UNLOAD
s3://my_timestream_unloads/results
-
Visualizza la tabella Glue.
-
Vai a AWS Glue → Tabelle.
-
Vedrai una nuova tabella creata con il prefisso della tabella fornito durante la creazione del crawler.
-
È possibile visualizzare lo schema e le informazioni sulla partizione facendo clic sulla visualizzazione dei dettagli della tabella.
-
Di seguito sono riportati altri AWS servizi e progetti open source che utilizzano il AWS Glue Data Catalog.
-
Amazon Athena: per ulteriori informazioni, consulta Comprendere tabelle, database e cataloghi di dati nella Guida per l'utente di Amazon Athena.
-
Amazon Redshift Spectrum — Per ulteriori informazioni, consulta la sezione Interrogazione di dati esterni utilizzando Amazon Redshift Spectrum nella Amazon Redshift Database Developer Guide.
-
Amazon EMR — Per ulteriori informazioni, consulta Utilizzare politiche basate sulle risorse per l'accesso di Amazon EMR a AWS Glue Data Catalog nella Amazon EMR Management Guide.
-
AWS Client Glue Data Catalog per Apache Hive metastore — Per ulteriori informazioni su questo progetto GitHub, consulta AWS Glue Data Catalog Client for
Apache Hive Metastore.