

Para obtener capacidades similares a las de Amazon Timestream, considere Amazon Timestream LiveAnalytics para InfluxDB. Ofrece una ingesta de datos simplificada y tiempos de respuesta a las consultas en milisegundos de un solo dígito para realizar análisis en tiempo real. Obtenga más información [aquí](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

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 UNLOAD from Timestream para LiveAnalytics
<a name="export-unload-example-use-case"></a>

Suponga que está supervisando las métricas de las sesiones de los usuarios, las fuentes de tráfico y las compras de los productos de su sitio web de comercio electrónico. Estás utilizando 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 llevan a los clientes al sitio web. 

**Topics**
+ [Exportación de los datos sin particiones](#export-unload-example-sample-1)
+ [Particiones de datos por canal](#export-unload-example-sample-2)
+ [Particiones de datos por evento](#export-unload-example-sample-3)
+ [Dividir los datos por canal y evento](#export-unload-example-sample-4)
+ [Archivos de manifiestos y metadatos](#export-unload-example-manifest-metadata)
+ [Uso de rastreadores de Glue para crear el catálogo de datos de Glue](#export-unload-example-using-glue-crawlers)

## Exportación de los datos sin particiones
<a name="export-unload-example-sample-1"></a>

Desea exportar los dos últimos días de sus datos en formato CSV.

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

## Particiones de datos por canal
<a name="export-unload-example-sample-2"></a>

Desea exportar los datos de los dos últimos días en formato CSV, pero le gustaría tener los datos de cada canal de tráfico en una carpeta independiente. Para ello, debe dividir los datos mediante la columna `channel` 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')
```

## Particiones de datos por evento
<a name="export-unload-example-sample-3"></a>

Desea exportar los datos de los dos últimos días en formato CSV, pero le gustaría tener los datos para cada evento de tráfico en una carpeta independiente. Para ello, debe dividir los datos mediante la columna `event` que 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')
```

## Dividir los datos por canal y evento
<a name="export-unload-example-sample-4"></a>

Desea exportar los datos de los dos últimos días en formato CSV, pero le gustaría tener los datos para cada canal y dentro de cada evento del almacén del canal en una carpeta independiente. Para ello, debe dividir los datos mediante la columna `channel` y `event` que 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
<a name="export-unload-example-manifest-metadata"></a>

### Archivo de manifiesto
<a name="export-unload-common-questions-what-information-manifest"></a>

El archivo de manifiesto proporciona información sobre la lista de archivos que se exportan con la ejecución de UNLOAD. 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
<a name="export-unload-common-questions-what-information-metadata"></a>

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. El archivo de metadatos está disponible en el bucket de S3 proporcionado con un nombre de archivo: S3://bucket\$1name/<queryid>\$1<UUID>\$1metadata.json 

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 `ColumnInfo` la que se envía en la respuesta de la API de consultas a las consultas `SELECT`. 

## Uso de rastreadores de Glue para crear el catálogo de datos de Glue
<a name="export-unload-example-using-glue-crawlers"></a>

1. Inicie sesión en su cuenta con las credenciales de administrador para la siguiente validación.

1. Cree un rastreador para la base de datos de Glue siguiendo las pautas que se proporcionan [aquí](https://docs.aws.amazon.com/glue/latest/ug/tutorial-add-crawler.html). Tenga en cuenta que la carpeta S3 que se debe proporcionar en el origen de datos debe ser la carpeta de resultados de `UNLOAD`, por ejemplo `s3://my_timestream_unloads/results`.

1. Ejecute el rastreador siguiendo las pautas que se indican [aquí](https://docs.aws.amazon.com/glue/latest/ug/tutorial-add-crawler.html#tutorial-add-crawler-step2).

1. Vea la tabla de Glue.
   + Diríjase a **AWS Glue** → **Tablas**.
   + Verá una nueva tabla creada con el prefijo de tabla proporcionado al momento de crear el rastreador.
   + Puede ver la información del esquema y la divisió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 el catálogo de datos](https://docs.aws.amazon.com/athena/latest/ug/understanding-tables-databases-and-the-data-catalog.html) en la Guía del usuario de Amazon Athena.
+ **Amazon Redshift Spectrum**: para obtener más información, consulte [Uso de Amazon Redshift Spectrum para consultar datos externos](https://docs.aws.amazon.com/redshift/latest/dg/c-using-spectrum.html) en la Guía para desarrolladores de bases de datos Amazon Redshift.
+ **Amazon EMR**: para obtener más información, consulte [Uso de políticas basadas en recursos para el acceso de Amazon EMR al catálogo de AWS datos de Glue en la](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.html) Guía de administración de Amazon EMR.
+ **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](https://github.com/awslabs/aws-glue-data-catalog-client-for-apache-hive-metastore) Metastore.