Bekerja dengan Athena Queries - Amazon AppStream 2.0

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bekerja dengan Athena Queries

Bagian ini menyediakan SQL kueri yang dapat Anda jalankan di Athena untuk menganalisis data laporan penggunaan di bucket Amazon S3 Anda.

Untuk membuat laporan konsolidasi dari semua sesi di bulan tertentu, jalankan kueri berikut:

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

Anda juga dapat melakukan operasi gabungan antara aplikasi dan tabel sesi dalam kueri Anda. Misalnya, untuk melihat pengguna berbeda yang meluncurkan setiap aplikasi pada bulan tertentu, jalankan kueri berikut:

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

Hasil kueri Athena disimpan sebagai file.csv di bucket Amazon S3 di akun Anda yang diberi nama. aws-athena-query-results-account-id-without-hyphens-region-code Untuk memudahkan dalam menemukan hasil kueri, pilih Simpan sebagai dan berikan nama untuk kueri Anda sebelum menjalankannya. Anda juga dapat memilih ikon unduhan di panel Hasil Athena untuk mengunduh hasil kueri sebagai file.csv.

Untuk meningkatkan kinerja dan mengurangi biaya, Athena menggunakan partisi untuk mengurangi jumlah data yang dipindai dalam kueri. Untuk informasi selengkapnya, lihat,Data partisi. Laporan penggunaan dipartisi di bucket Amazon S3 Anda berdasarkan tahun, bulan, dan hari. Anda dapat membatasi kueri ke partisi rentang tanggal tertentu menggunakan bidang tahun, bulan, dan hari sebagai kondisi dalam kueri Anda. Misalnya, kueri berikut hanya menyerap laporan sesi untuk minggu 19 Mei 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

Sebaliknya, kueri berikut menghasilkan hasil yang identik, tetapi karena tidak terbatas pada partisi apa pun, kueri ini menyerap semua laporan sesi yang disimpan di bucket Amazon S3 Anda.

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

Jika sesi berlangsung lebih dari satu hari, sesi dan catatan aplikasi muncul di sesi dan laporan aplikasi, masing-masing, sesuai dengan hari di mana sesi berakhir. Untuk alasan ini, jika Anda perlu menemukan catatan yang berhubungan dengan semua sesi yang aktif selama rentang tanggal tertentu, pertimbangkan untuk memperluas kumpulan partisi kueri Anda dengan panjang sesi maksimum yang telah Anda konfigurasikan untuk armada Anda.

Misalnya, untuk melihat semua sesi yang aktif untuk armada tertentu selama bulan kalender, di mana armada memiliki durasi sesi maksimum 100 jam, jalankan kueri berikut untuk memperluas set partisi Anda selama lima hari.

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

AWS CloudFormation Template yang membuat AWS Glue crawler juga membuat dan menyimpan beberapa contoh kueri di akun Athena yang dapat Anda gunakan untuk menganalisis data penggunaan Anda. Contoh kueri ini meliputi yang berikut:

  • Laporan sesi bulanan agregat

  • Panjang sesi rata-rata per tumpukan

  • Jumlah sesi per hari

  • Total jam streaming per pengguna

    catatan

    Biaya penggunaan sesuai permintaan dibulatkan ke jam berikutnya untuk setiap sesi.

  • Pengguna berbeda per aplikasi

Untuk menggunakan salah satu kueri ini, lakukan langkah-langkah berikut.

  1. Buka konsol Athena di https://console.aws.amazon.com/athena/.

  2. Pilih Kueri Tersimpan. Lima pertanyaan yang dicatat sebelum prosedur ini harus ditampilkan. Nama setiap kueri dimulai dengan "AS2.” Misalnya, "AS2_users_per_app_curr_mo.”

  3. Untuk menjalankan kueri, pilih nama kueri daripada opsi di sebelah nama.

  4. Teks kueri muncul di panel kueri. Pilih Run query (Jalankan kueri).

Untuk melihat kueri ini dalam AWS CloudFormation templat terpisah, lihat athena-sample-queries-appstream-usage-data_template.yl di Katalog Contoh Kode.AWS