Trabalhar com consultas do Athena - Amazon AppStream 2.0

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Trabalhar com consultas do Athena

Esta seção fornece SQL consultas que você pode executar no Athena para analisar os dados dos relatórios de uso em seu bucket do Amazon S3.

Para criar um relatório consolidado de todas as sessões em um determinado mês, execute a seguinte consulta:

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

Você também pode executar operações de junção entre as tabelas applications e sessions na sua consulta. Por exemplo, para visualizar os diferentes usuários que iniciaram cada aplicativo em um determinado mês, execute a seguinte 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

Os resultados de consultas do Athena são armazenados como arquivos .csv em um bucket do Amazon S3 em sua conta chamada aws-athena-query-results-account-id-without-hyphens-region-code. Para facilitar a localização dos resultados da consulta, escolha Save as (Salvar como) e forneça um nome para sua consulta antes de executá-la. Você também pode escolher o ícone de download no painel Resultados do Athena para fazer download dos resultados da consulta como um arquivo .csv.

Para melhorar a performance e reduzir os custos, o Athena usa o particionamento para reduzir a quantidade de dados verificados em consultas. Para obter mais informações, consulte Particionar dados. Os relatórios de uso são particionados em seus buckets do Amazon S3 por ano, mês e dia. Você pode restringir suas consultas a determinadas partições de intervalos de datas usando os campos year (ano),month (mês) e day (dia) como condições em suas consultas. Por exemplo, a consulta a seguir consome apenas os relatórios de sessões da semana de 19 de maio 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

Por outro lado, a consulta a seguir produz resultados idênticos, mas, como não se restringe a nenhuma partição, ela consome todos os relatórios de sessões armazenados no seu bucket do 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

Se uma sessão abranger mais de um dia, os registros de sessão e aplicativo serão exibidos em relatórios de sessões e aplicativos, respectivamente, de acordo com o dia em que a sessão terminou. Por esse motivo, se você precisar encontrar registros relacionados a todas as sessões que estiveram ativas durante um determinado intervalo de datas, considere expandir o conjunto de partições da sua consulta pela duração máxima de sessão que você tiver configurado para suas frotas.

Por exemplo, para visualizar todas as sessões que estavam ativas para uma determinada frota durante um mês, em que a frota tinha uma duração máxima de sessão de 100 horas, execute a consulta a seguir para expandir seu conjunto de partições em cinco dias.

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

O AWS CloudFormation modelo que criou os AWS Glue rastreadores também criou e salvou vários exemplos de consultas em sua conta do Athena que você pode usar para analisar seus dados de uso. Essas consultas de exemplo incluem o seguinte:

  • Relatório mensal de sessões agregadas

  • Duração média de sessão por pilha

  • Número de sessões por dia

  • Total de horas de streaming por usuário

    nota

    As cobranças de uso sob demanda são arredondadas para a próxima hora em cada sessão.

  • Usuários distintos por aplicativo

Para usar qualquer uma dessas consultas, execute as etapas a seguir.

  1. Abra o console do Athena em https://console.aws.amazon.com/athena/.

  2. Escolha Saved Queries (Consultas salvas). As cinco consultas apontadas antes deste procedimento devem ser exibidas. O nome de cada consulta começa com "”AS2. Por exemplo, "AS2_users_per_app_curr_mo”.

  3. Para executar uma consulta, escolha o nome da consulta, em vez de a opção ao lado do nome.

  4. O texto da consulta é exibido no painel de consulta. Selecione Executar consulta.

Para ver essas consultas em um AWS CloudFormation modelo separado, consulte athena-sample-queries-appstream-usage-data_template.yml no Catálogo de amostras de código.AWS