Amazon Athena

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

Mengenkripsi traffic 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:

    • Sepasang kunci akses Amazon AWS.
    • Bucket S3 yang berisi data yang ingin Anda buat kuerinya 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 berdasarkan 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 yang diizinkan IP, seperti yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.)

    • Pengetahuan tentang lokasi data instance Amazon Athena Anda. Nama wilayah dapat ditemukan di bagian kanan atas Konsol Amazon.

  2. Di bagian Admin di Looker, pilih Koneksi, lalu klik Tambahkan Koneksi.

  3. Isi detail koneksi:

    • Nama: Tentukan nama koneksi. Ini adalah cara Anda akan merujuk ke koneksi dalam project LookML.
    • Dialect: 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.
    • Nama pengguna: Tentukan ID kunci akses AWS.
    • Sandi: Tentukan kunci akses rahasia AWS.
    • Aktifkan PDT: Gunakan tombol ini untuk mengaktifkan tabel turunan persisten (PDT). Mengaktifkan PDT akan menampilkan kolom PDT tambahan dan bagian Penggantian PDT untuk koneksi.
    • Temp Database: 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 untuk output hasil kueri dan PDT di halaman ini.
    • Jumlah maksimum koneksi builder PDT: Tentukan jumlah build PDT serentak yang mungkin terjadi 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.
    • 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 untuk output hasil kueri dan PDT di halaman ini.
      • Tandai untuk hasil streaming. Jika memiliki kebijakan athena:GetQueryResultsStream yang dilampirkan ke pengguna Athena, Anda dapat menambahkan ;UseResultsetStreaming=1 ke akhir parameter JDBC tambahan untuk meningkatkan performa ekstraksi set hasil yang 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 di Athena. Lihat dokumentasi batas layanan Athena untuk mengetahui detail selengkapnya tentang batas layanan. Lihat halaman dokumentasi Menghubungkan Looker ke database untuk mengetahui informasi selengkapnya.
    • Connection Pool Timeout: Tentukan waktu tunggu kumpulan koneksi. Secara default, waktu tunggu ditetapkan ke 120 detik. Lihat halaman dokumentasi Menghubungkan Looker ke database untuk mengetahui informasi selengkapnya.
    • Pratinjau 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: Tentukan zona waktu yang digunakan dalam database. Kosongkan kolom ini jika Anda tidak ingin konversi zona waktu. Lihat halaman dokumentasi Menggunakan setelan zona waktu untuk mengetahui informasi selengkapnya.

Untuk memverifikasi bahwa koneksi berhasil, klik Uji. Lihat halaman dokumentasi Menguji konektivitas database untuk mengetahui 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 tentang Opsi Driver JDBC untuk mengetahui informasi selengkapnya dan daftar semua opsi driver JDBC yang tersedia.

Di kolom Additional JDBC parameters, 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 kolom Temp Database. Misalnya, jika Anda ingin Looker menulis PDT ke s3://<s3-bucket>/looker_scratch, masukkan ini di kolom Database Temp:

`looker_scratch`

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

Pertimbangan bucket S3

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

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

Resource

Proses Debug

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

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

Dukungan fitur

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

Amazon Athena mendukung fitur berikut mulai Looker 24.20:

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 Tampilkan SQL Runner
Tidak
SQL Runner Describe Table
Ya
SQL Runner Show Indexes
Tidak
SQL Runner Select 10
Ya
Jumlah SQL Runner
Ya
SQL Explain
Tidak
Kredensial Oauth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Tidak
Sketsa HLL
Ya
Kesadaran Agregat
Ya
PDT inkremental
Tidak
Milidetik
Ya
Mikrodetik
Tidak
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Ya

Langkah berikutnya

Setelah menyelesaikan koneksi database, konfigurasi opsi autentikasi.