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.
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.
Di bagian Admin di Looker, pilih Koneksi, lalu klik Tambahkan Koneksi.
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 di443
. 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 ke0
secara default. - Parameter tambahan opsional yang akan ditambahkan ke string koneksi JDBC.
- Parameter
- 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
- Dokumentasi Amazon Athena
- Konsol Amazon Web Services untuk Athena (memerlukan login AWS)
- Referensi SQL dan HiveQL Amazon Athena
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.