Amazon Athena

Looker mendukung koneksi ke Amazon Athena, layanan kueri interaktif yang memudahkan analisis data di Amazon S3 menggunakan SQL standar. Amazon Athena adalah platform serverless, sehingga tidak ada infrastruktur yang perlu dikelola. Anda hanya dikenai biaya untuk kueri yang dijalankan.

Mengenkripsi lalu lintas jaringan

Praktik terbaiknya adalah mengenkripsi traffic jaringan antara aplikasi Looker dan database Anda. Pertimbangkan salah satu opsi yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.

Mengonfigurasi koneksi Amazon Athena

Halaman ini menjelaskan cara menghubungkan Looker ke instance Amazon Athena.

  1. Pastikan Anda memiliki hal berikut:

    • Sepasang kunci akses Amazon AWS.
    • Bucket S3 yang berisi data yang ingin Anda kueri di Looker dengan Amazon Athena. Kunci akses Amazon AWS harus memiliki akses baca-tulis ke bucket ini.

      Amazon Athena harus memiliki akses ke bucket S3 ini berdasarkan peran atau kumpulan izin, serta aturan firewall. Jangan tambahkan aturan keamanan ke bucket S3 untuk IP Looker, karena hal ini dapat secara tidak sengaja memblokir akses Amazon Athena ke bucket S3. (Untuk dialek lain selain Amazon Athena, pengguna mungkin ingin membatasi akses ke data dari lapisan jaringan dengan daftar IP yang diizinkan, seperti yang dijelaskan di halaman dokumentasi Mengaktifkan akses database aman.)

    • Mengetahui lokasi data instance Amazon Athena. Nama region dapat ditemukan di bagian kanan atas Amazon Console.

  2. Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.

  3. Isi detail koneksi:

    • Name: Menentukan nama koneksi. Beginilah cara Anda merujuk koneksi dalam project LookML.
    • Dialek: Pilih Amazon Athena.
    • Host dan Port: Tentukan nama host dan port seperti yang dijelaskan dalam dokumentasi Athena tentang format URL JDBC. Host harus berupa endpoint Amazon yang valid (seperti athena.eu-west-1.amazonaws.com), dan port harus tetap di 443. Daftar endpoint terbaru yang mendukung Athena dapat ditemukan di halaman Referensi Umum AWS ini.
    • Database: Tentukan database default yang ingin Anda buat modelnya. Database lain dapat diakses, tetapi Looker memperlakukan database ini sebagai database default.
    • Username: Tentukan ID kunci akses AWS.
    • Password: Tentukan kunci akses rahasia AWS.
    • Aktifkan PDT: Gunakan tombol ini untuk mengaktifkan tabel turunan persisten (PDT). Jika PDT diaktifkan, kolom PDT tambahan dan bagian Penggantian PDT akan ditampilkan untuk koneksi.
    • Database Temp: Tentukan nama direktori output di bucket S3 tempat Anda ingin Looker menulis PDT. Jalur lengkap ke direktori output Anda harus ditentukan di kolom Parameter JDBC tambahan; lihat bagian Menentukan bucket S3 Anda untuk output hasil kueri dan PDT di halaman ini.
    • Jumlah maksimum koneksi builder PDT: Tentukan jumlah kemungkinan build PDT serentak pada koneksi ini. Menetapkan nilai ini terlalu tinggi dapat berdampak negatif pada waktu kueri. Untuk mengetahui informasi selengkapnya, lihat halaman dokumentasi Menghubungkan Looker ke database Anda.
    • Parameter JDBC tambahan: Tentukan parameter tambahan untuk koneksi:
      • Parameter s3_staging_dir adalah bucket S3 yang harus digunakan Looker untuk output hasil kueri dan PDT; lihat bagian Menentukan bucket S3 Anda untuk output hasil kueri dan PDT di halaman ini.
      • Laporkan hasil streaming. Jika Anda memiliki kebijakan athena:GetQueryResultsStream yang disertakan pada pengguna Athena, Anda dapat menambahkan ;UseResultsetStreaming=1 ke akhir parameter JDBC tambahan untuk meningkatkan performa ekstraksi kumpulan hasil besar secara signifikan. Parameter ini disetel ke 0 secara default.
      • Parameter tambahan opsional yang akan ditambahkan ke string koneksi JDBC.
    • SSL: Abaikan; secara default, semua koneksi ke AWS API akan dienkripsi.
    • Koneksi maksimum per node: Secara default, nilai ini ditetapkan ke 5. Anda dapat meningkatkannya hingga 20 jika Looker adalah mesin kueri utama yang berjalan terhadap Athena. Lihat dokumentasi batas layanan Athena untuk detail selengkapnya tentang batas layanan. Lihat halaman dokumentasi Menghubungkan Looker ke database untuk mengetahui informasi selengkapnya.
    • Connection Pool Timeout: Menentukan waktu tunggu kumpulan koneksi. Secara default, waktu tunggu disetel ke 120 detik. Lihat halaman dokumentasi Menghubungkan Looker ke database untuk mengetahui informasi selengkapnya.
    • Precache SQL Runner: Batalkan pilihan opsi ini jika Anda lebih memilih SQL Runner untuk memuat informasi tabel hanya saat tabel dipilih. Lihat halaman dokumentasi Menghubungkan Looker ke database untuk mengetahui informasi selengkapnya.
    • Zona Waktu Database: Menentukan zona waktu yang digunakan di database. Kosongkan kolom ini jika Anda tidak ingin melakukan konversi zona waktu. Lihat halaman dokumentasi Menggunakan setelan zona waktu untuk informasi selengkapnya.

Untuk memverifikasi bahwa koneksi berhasil, klik Test. Lihat halaman dokumentasi Menguji konektivitas database untuk informasi pemecahan masalah.

Untuk menyimpan setelan ini, klik Hubungkan.

Menentukan bucket S3 untuk output hasil kueri dan PDT

Gunakan kolom Parameter JDBC tambahan di halaman Koneksi untuk mengonfigurasi jalur ke bucket S3 yang akan digunakan Looker untuk menyimpan output hasil kueri, dan untuk menentukan nama direktori output di bucket S3 tempat Anda ingin Looker menulis PDT. Tentukan informasi ini menggunakan parameter s3_staging_dir.

Parameter JDBC s3_staging_dir adalah cara alternatif untuk mengonfigurasi properti S3OutputLocation Amazon Athena, yang diperlukan untuk koneksi JDBC Athena. Lihat dokumentasi Athena di Opsi Driver JDBC untuk informasi selengkapnya dan daftar semua opsi driver JDBC yang tersedia.

Di kolom Parameter JDBC tambahan, tentukan parameter s3_staging_dir menggunakan format berikut:

`s3_staging_dir=s3://<s3-bucket>/<output-path>`

Dengan keterangan:

  • <s3-bucket> adalah nama bucket S3.
  • <output-path> adalah jalur tempat Looker akan menulis output hasil kueri.

Pasangan kunci akses AWS harus memiliki izin tulis ke direktori <s3-bucket>.

Untuk mengonfigurasi direktori tempat Looker akan menulis PDT, masukkan jalur direktori di bucket S3 di atas di kolom Temp Database. Misalnya, jika Anda ingin Looker menulis PDT ke s3://<s3-bucket>/looker_scratch, masukkan ini di kolom Temp Database:

`looker_scratch`

Hanya masukkan jalur direktori. Looker mendapatkan nama bucket S3 dari parameter s3_staging_dir yang Anda masukkan di kolom Additional JDBC Parameters.

Pertimbangan bucket S3

Sebaiknya konfigurasikan siklus proses objek Amazon S3 untuk secara berkala menghapus file yang tidak diperlukan di bucket S3 yang ditentukan. Ada alasannya:

  • Athena menyimpan hasil kueri untuk setiap kueri di bucket S3. Lihat Athena Querying.
  • Jika Anda mengaktifkan PDT, saat PDT dibuat, metadata tentang tabel yang dibuat akan disimpan di bucket S3.

Referensi

Proses Debug

Amazon menyediakan opsi driver JDBC LogLevel dan LogPath untuk men-debug koneksi. Untuk menggunakannya, tambahkan ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log ke akhir kolom Parameter JDBC Tambahan dan uji koneksinya lagi.

Jika Looker menghosting instance, maka Dukungan Looker atau analis Anda perlu mengambil file ini untuk melanjutkan proses debug.

Dukungan fitur

Agar Looker dapat mendukung beberapa fitur, dialek database Anda juga harus mendukung fitur tersebut.

Amazon Athena mendukung fitur berikut mulai Looker 24.6:

Fitur Didukung?
Level Dukungan
Didukung
Looker (Google Cloud core)
Ya
Agregat Simetris
Ya
Tabel Turunan
Ya
Tabel Turunan SQL Persisten
Ya
Tabel Turunan Berbasis Persisten
Ya
Tampilan Stabil
Ya
Penghentian Kueri
Ya
Pivot berbasis SQL
Ya
Zona waktu
Ya
SSL
Ya
Subtotal
Tidak
Parameter Tambahan JDBC
Ya
Peka Huruf Besar/Kecil
Ya
Jenis Lokasi
Ya
Jenis Daftar
Ya
Persentil
Ya
Persentil berbeda
Tidak
Proses Tampilan Runner SQL
Tidak
Tabel Deskripsi Runner SQL
Ya
Indeks Tampilan Runner SQL
Tidak
Pilihan Runner SQL 10
Ya
Jumlah Runner SQL
Ya
Penjelasan SQL
Tidak
Kredensial OAuth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Tidak
Sketsa HLL
Ya
Awareness Gabungan
Ya
PDT inkremental
Tidak
Milidetik
Ya
Mikrodetik
Tidak
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Ya

Langkah berikutnya

Setelah Anda menyelesaikan koneksi database, konfigurasi opsi autentikasi.