Uso de las consultas de Athena - Amazon AppStream 2.0

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.

Uso de las consultas de Athena

En esta sección se proporcionan SQL consultas que puede ejecutar en Athena para analizar los datos de los informes de uso de su bucket de Amazon S3.

Para crear un informe consolidado de todas las sesiones en un mes determinado, ejecute la siguiente consulta:

SELECT * FROM "appstream-usage"."sessions" WHERE year='four-digit-year' AND month='two-digit-month'

También puede realizar operaciones de combinación entre las tablas applicationsy sessions en su consulta. Por ejemplo, para ver los usuarios distintos que lanzaron cada aplicación en un mes determinado, ejecute la siguiente consulta:

SELECT DISTINCT apps.application_name, sessions.user_id FROM "appstream-usage"."applications" apps INNER JOIN "appstream-usage"."sessions" sessions ON (apps.user_session_id = sessions.user_session_id AND sessions.year='four-digit-year' AND sessions.month='two-digit-month') WHERE apps.year='four-digit-year' AND apps.month='two-digit-month' ORDER BY 1, 2

Los resultados de las consultas de Athena se almacenan como archivos .csv en un bucket de Amazon S3 de su cuenta que se denomina aws-athena-query-results-account-id-without-hyphens-region-code. Para facilitar la localización de los resultados de las consultas, elija Save as (Guardar como) y proporcione un nombre para su consulta antes de ejecutarla. También puede elegir el icono de descarga en el panel Resultados de Athena para descargar los resultados de la consulta como un archivo.csv.

Para mejorar el rendimiento y reducir los costos, Athena utiliza particiones para reducir la cantidad de datos analizados en las consultas. Para obtener más información, consulte la sección sobre partición de datos. Los informes de uso se particionan en sus buckets de Amazon S3 por año, mes y día. Puede restringir sus consultas a determinadas particiones de intervalo de fechas mediante los campos year (año),month( mes) y day (día) como condiciones en sus consultas. Por ejemplo, la siguiente consulta solo utiliza los informes de sesiones de la semana del 19 de mayo de 2019.

SELECT SUBSTRING(session_start_time, 1, 10) AS report_date, COUNT(DISTINCT user_session_id) AS num_sessions FROM "appstream-usage"."sessions" WHERE year='2019' AND month='05' AND day BETWEEN '19' and '25' GROUP BY 1 ORDER BY 1

Sin embargo, la siguiente consulta produce resultados idénticos, pero como no está restringida a ninguna partición, utiliza todos los informes de sesiones almacenados en su bucket de Amazon S3.

SELECT SUBSTRING(session_start_time, 1, 10) AS report_date, COUNT(DISTINCT user_session_id) AS num_sessions FROM "appstream-usage"."sessions" WHERE session_end_time BETWEEN '2019-05-19' AND '2019-05-26' GROUP BY 1 ORDER BY 1

Si una sesión abarca más de un día, los registros de sesión y aplicación aparecen en los informes de sesiones y aplicaciones, respectivamente, correspondientes al día en que finalizó la sesión. Por este motivo, si necesita encontrar registros relacionados con todas las sesiones que han estado activas durante un determinado intervalo de fechas, considere la posibilidad de ampliar el conjunto de particiones de su consulta hasta la duración de sesión máxima que haya configurado para las flotas.

Por ejemplo, para ver todas las sesiones que han estado activas para una determinada flota durante un mes natural, donde la flota tenía una duración de sesión máxima de 100 horas, ejecute la siguiente consulta para ampliar el conjunto de particiones a cinco días.

SELECT * FROM "appstream-usage"."sessions" WHERE fleet_name = 'fleet_name' AND session_start_time BETWEEN '2019-05-01' AND '2019-06-01' AND year='2019' AND (month='05' OR (month='06' AND day<='05')) ORDER BY session_start_time

La AWS CloudFormation plantilla que creó los AWS Glue rastreadores también creó y guardó varios ejemplos de consultas en tu cuenta de Athena que puedes usar para analizar tus datos de uso. Estas consultas de ejemplo son las siguientes:

  • Informe de sesiones mensuales acumuladas

  • Duración media de la sesión por pila

  • Número de sesiones al día

  • Horas de streaming totales por usuario

    nota

    Las cargos por uso bajo demanda se redondean a la siguiente hora para cada sesión.

  • Usuarios distintos por aplicación

Para utilizar cualquiera de estas consultas, siga los pasos que se describen a continuación.

  1. Abra la consola Athena en https://console.aws.amazon.com/athena/.

  2. Elija Saved Queries (Consultas guardadas). Se deben mostrar las cinco consultas indicadas anteriormente en este procedimiento. El nombre de cada consulta comienza por "»AS2. Por ejemplo, "AS2_users_per_app_curr_mo».

  3. Para ejecutar una consulta, seleccione el nombre de la consulta en lugar de la opción situada junto a su nombre.

  4. El texto de la consulta aparece en el panel de consultas. Elija Ejecutar consulta.

Para ver estas consultas en una AWS CloudFormation plantilla independiente, consulta -usage-data_template.yml en el catálogo de ejemplos de código. athena-sample-queries-appstream AWS