Esempio di utilizzo di from Timestream per UNLOAD LiveAnalytics - Amazon Timestream

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.

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

  1. Accedi al tuo account con le credenziali di amministratore per la seguente convalida.

  2. 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

  3. Esegui il crawler seguendo le linee guida riportate qui.

  4. Visualizza la tabella Glue.

    • Vai a AWS GlueTabelle.

    • 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.