Databricks

Anda dapat mengonfigurasi instance Databricks agar berfungsi dengan Looker untuk menganalisis dan memvisualisasikan data Anda untuk pelaporan operasional. Looker hanya terhubung ke Databricks jika Unity Catalog diaktifkan. Penyiapan memerlukan enkripsi traffic jaringan, pembuatan pengguna Looker khusus, dan konfigurasi izin pengguna.

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.

Membuat pengguna Looker

Looker melakukan autentikasi ke Databricks dengan token akses pribadi. Ikuti dokumentasi Databricks guna membuat token akses pribadi untuk pengguna Databricks yang akan digunakan di Looker.

Tambahkan izin ke pengguna ini dengan GRANT.

Setidaknya, pengguna Looker harus memiliki izin SELECT dan READ_METADATA.

GRANT SELECT ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`

Informasi server

Ikuti dokumentasi Databricks untuk menemukan HTTP Path untuk cluster Databricks Anda. Hal ini akan disebut sebagai <YOUR_HTTP_PATH> di halaman ini.

Menyiapkan tabel turunan persisten

Untuk menggunakan tabel turunan persisten, buat database terpisah.

CREATE DATABASE <YOUR_SCRATCH_DATABASE>

Hal ini juga akan memerlukan pemberian izin pengguna berbasis tulis tambahan.

GRANT SELECT CREATE MODIFY ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`

Membuat koneksi Looker ke database Anda

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

Isi detail koneksi. Sebagian besar setelan bersifat umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasi selengkapnya. Beberapa setelan dijelaskan di bawah ini:

  • Name: Tentukan nama koneksi. Ini adalah cara Anda akan merujuk ke koneksi dalam project LookML.
  • Dialect: Tentukan dialek Databricks.
  • Host: Tentukan URL ruang kerja Databricks. Contoh, dbc-yyyyyyyy.cloud.databricks.com/.
  • Port: Tentukan port database. Defaultnya adalah 443.
  • Database: Tentukan nama database yang akan digunakan untuk kueri Looker. Nilai defaultnya adalah default.
  • Catalog: Untuk database Databricks dengan Unity Catalog diaktifkan, tentukan nama katalog yang akan digunakan untuk kueri Looker. Jika Anda tidak menentukan katalog, Looker hanya akan mengakses skema dari katalog default. Lihat Fungsi Looker dengan Databricks Unity Catalog untuk mengetahui informasi selengkapnya.
  • Authentication: Pilih Database Account atau OAuth:
    • Gunakan Database Account untuk menentukan token akses pribadi Databricks yang akan digunakan untuk terhubung ke Looker (lihat bagian Membuat pengguna Looker untuk mengetahui petunjuknya).
      • Untuk Username, masukkan nilai token (jangan masukkan email pengguna Databricks di kolom ini).
      • Untuk Password, masukkan token akses pribadi Databricks.
    • Gunakan OAuth guna mengonfigurasi OAuth untuk koneksi. Lihat bagian Mengonfigurasi OAuth untuk koneksi Databricks untuk mengetahui informasi selengkapnya.
  • Enable PDTs: Gunakan tombol ini untuk mengaktifkan tabel turunan persisten. Jika PDT diaktifkan, jendela Connection akan menampilkan setelan PDT tambahan dan bagian PDT Overrides. Catatan: PDT tidak didukung untuk koneksi Databricks yang menggunakan OAuth.
  • Temp Database: Masukkan database yang ingin Anda gunakan untuk menyimpan PDT.
  • 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.
  • Parameter JDBC tambahan: Tambahkan parameter JDBC tambahan. Lihat bagian Parameter JDBC yang didukung di halaman ini untuk mengetahui daftar parameter yang didukung Looker.

  • Maintenance Schedule: Ekspresi cron yang menunjukkan kapan Looker harus memeriksa grup data dan tabel turunan persisten. Baca selengkapnya tentang setelan ini di dokumentasi Jadwal Pemeliharaan.

  • SSL: Centang untuk menggunakan koneksi SSL.

  • Verify SSL: Centang untuk menerapkan verifikasi sertifikat SSL yang ketat.

  • Koneksi maksimum per node: Anda dapat membiarkan setelan ini pada nilai default pada awalnya. Baca selengkapnya tentang setelan ini di bagian Koneksi maksimum per node di halaman dokumentasi Menghubungkan Looker ke database Anda.

  • Connection Pool Timeout: Anda dapat membiarkan setelan ini pada nilai default pada awalnya. Baca selengkapnya tentang setelan ini di bagian Connection Pool Timeout pada halaman dokumentasi Connecting Looker to your database.

  • SQL Runner Precache: Untuk membuat SQL Runner tidak melakukan pramuat informasi tabel dan hanya memuat informasi tabel saat tabel dipilih, hapus centang pada kotak ini. Baca selengkapnya tentang setelan ini di bagian SQL Runner Precache pada halaman dokumentasi Connecting Looker to your database.

  • Fetch Information Schema For SQL Writing: Jika setelan ini diaktifkan, Looker akan menggunakan skema informasi database Anda untuk mengoptimalkan penulisan SQL. Baca selengkapnya tentang setelan ini di bagian Mengambil Skema Informasi untuk Penulisan SQL di halaman dokumentasi Menghubungkan Looker ke database Anda.

  • Zona Waktu Database: Tentukan zona waktu yang akan digunakan dalam database. Kosongkan kolom ini jika Anda tidak menginginkan konversi zona waktu. Lihat halaman dokumentasi Menggunakan setelan zona waktu untuk mengetahui informasi selengkapnya.

Untuk memverifikasi bahwa koneksi berhasil, klik tombol Test Connection di bagian Status details di bagian bawah halaman Connections Settings.

Jika Looker menampilkan Can Connect, tekan Connect untuk membuat koneksi.

Koneksi database Anda kemudian akan ditambahkan ke daftar di halaman Admin Connections Looker.

Fungsi Looker dengan Databricks Unity Catalog

Looker mendukung koneksi ke database Databricks dengan Unity Catalog diaktifkan. Anda dapat menentukan nama katalog di kolom Catalog di jendela Connection Looker saat Anda membuat koneksi Looker ke database, atau saat Anda mengedit koneksi Looker yang ada ke database Databricks.

Jika database Databricks Anda diaktifkan untuk Unity Catalog, Anda dapat menentukan katalog Databricks di kolom Catalog pada koneksi Looker. Saat Anda menentukan katalog Databricks, Looker akan menggunakan katalog tersebut dalam skenario berikut:

  • Saat membuat project LookML baru dari database Anda, Looker akan membuat file project berdasarkan tabel dalam katalog yang dikonfigurasi koneksi Anda.
  • Untuk project yang sudah ada, saat menggunakan Looker IDE untuk membuat tabel virtual dari tabel, Looker hanya akan membuat file tabel virtual dari tabel di katalog yang dikonfigurasi koneksi Anda.
  • Saat menggunakan SQL Runner, Anda hanya dapat memilih skema dari katalog yang dikonfigurasi koneksi Anda.

Jika database Databricks Anda diaktifkan untuk Unity Catalog dan koneksi Looker tidak memiliki nilai di kolom Catalog, sebagian besar fungsi Looker hanya akan mengakses skema dari katalog default, seperti dalam skenario berikut:

  • Saat membuat project LookML baru dari database Anda, Looker akan membuat file project berdasarkan tabel di katalog default Unity Catalog.
  • Untuk project yang sudah ada, saat menggunakan Looker IDE untuk membuat tampilan dari tabel, Looker hanya dapat membuat file tampilan dari tabel di katalog default Unity Catalog.
  • Saat menggunakan SQL Runner, Anda hanya dapat memilih skema dari katalog default Unity Catalog.

Mengonfigurasi OAuth untuk koneksi Databricks

Looker mendukung OAuth untuk koneksi Databricks, yang berarti setiap pengguna Looker melakukan autentikasi ke database dan memberi otorisasi kepada Looker untuk menjalankan kueri pada database dengan akun pengguna OAuth milik pengguna itu sendiri.

OAuth memungkinkan administrator database melakukan tugas berikut:

  • Mengaudit pengguna Looker yang menjalankan kueri terhadap database
  • Menerapkan kontrol akses berbasis peran menggunakan izin tingkat database
  • Menggunakan token OAuth untuk semua proses dan tindakan yang mengakses database, alih-alih menyematkan ID dan sandi database di beberapa tempat
  • Mencabut otorisasi untuk pengguna tertentu melalui database secara langsung

Dengan koneksi Databricks yang menggunakan OAuth, pengguna harus login lagi secara berkala saat masa berlaku token OAuth mereka berakhir.

Perhatikan hal berikut untuk koneksi OAuth tingkat database:

  • Jika pengguna membiarkan token OAuth-nya habis masa berlakunya, jadwal atau pemberitahuan Looker yang dimiliki pengguna tersebut akan terpengaruh. Untuk mencegah hal ini, Looker akan mengirimkan email notifikasi kepada pemilik setiap jadwal dan setiap pemberitahuan sebelum masa berlaku token OAuth aktif saat ini berakhir. Looker mengirimkan email notifikasi ini 14 hari, 7 hari, dan 1 hari sebelum masa berlaku token berakhir. Pengguna dapat membuka halaman pengguna Looker untuk memberikan otorisasi ulang Looker ke database dan menghindari gangguan pada jadwal dan pemberitahuan mereka. Lihat halaman dokumentasi Mempersonalisasi setelan akun pengguna untuk mengetahui detailnya.
  • Karena koneksi database yang menggunakan OAuth bersifat "per pengguna", kebijakan caching juga berlaku per pengguna dan tidak hanya per kueri. Artinya, alih-alih menggunakan hasil yang di-cache setiap kali kueri yang sama dijalankan dalam periode caching, Looker akan menggunakan hasil yang di-cache hanya jika pengguna yang sama telah menjalankan kueri yang sama dalam periode caching. Untuk informasi selengkapnya tentang caching, lihat halaman dokumentasi Meng-cache kueri.
  • Tabel turunan persisten (PDT) tidak didukung untuk koneksi Databricks dengan OAuth.
  • Saat administrator Looker melakukan sudo sebagai pengguna lain, administrator tersebut akan menggunakan token akses OAuth pengguna tersebut. Jika masa berlaku token akses pengguna telah berakhir, administrator tidak dapat membuat token baru atas nama pengguna yang di-sudo. Lihat halaman dokumentasi Pengguna untuk mengetahui informasi tentang cara menggunakan perintah sudo.
  • Saat pengguna memulai alur otorisasi OAuth untuk koneksi Databricks di Looker, Looker akan menampilkan dialog Authorize OAuth Connection yang memberi tahu pengguna bahwa mengizinkan koneksi akan memungkinkan instance Looker mengakses data atas nama mereka, dan bahwa pengguna Looker yang memiliki hak istimewa, seperti administrator atau developer, mungkin memiliki visibilitas ke data mereka. Pengguna harus memilih Authorize sebelum melanjutkan login ke Databricks. Informasi izin ini disimpan di penyimpanan lokal browser pengguna, dan dialog akan muncul lagi jika penyimpanan lokal dihapus. Setelah pengguna memilih Authorize, Databricks sendiri tidak akan menampilkan dialog izin pengguna tambahan.
  • Untuk menggunakan OAuth untuk koneksi Databricks, Anda harus memiliki pengguna atau akun utama layanan Databricks yang dapat digunakan untuk kueri Looker, dan Anda harus memberikan izin Databricks kepada pengguna dan akun utama layanan yang akan diperlukan Looker untuk mengakses sumber data dan melakukan tindakan yang diperlukan dalam Databricks.

Untuk membuat koneksi Databricks ke Looker menggunakan OAuth, Anda harus melakukan langkah-langkah umum berikut, yang dijelaskan di bagian berikut:

  1. Mengaktifkan aplikasi OAuth kustom di Databricks
  2. Mengonfigurasi koneksi di Looker

Mengaktifkan aplikasi OAuth kustom di Databricks

Untuk menggunakan OAuth untuk koneksi Looker ke Databricks, Anda harus mengaktifkan Looker sebagai aplikasi OAuth kustom untuk database Databricks dengan mengikuti langkah-langkah berikut:

  1. Login ke konsol akun Databricks.
  2. Klik ikon Setelan di panel samping.
  3. Klik tab App Connections di jendela Settings.
  4. Di tab App Connections, klik Add connection.
  5. Masukkan nilai berikut dalam dialog Add connection Databricks:

    • Application Name: Berikan nama deskriptif, seperti "Looker Integration".
    • Redirect URLs: Masukkan URL Looker tempat Databricks akan mengalihkan pengguna setelah otorisasi berhasil, menggunakan format ini (ganti example.looker.com dengan URL instance Looker Anda):

      https://example.looker.com/external_oauth/redirect
      
    • Cakupan akses: Pilih SQL untuk mengizinkan Looker mengkueri data melalui SQL.

    • Buat rahasia klien: Aktifkan opsi ini.

  6. Klik Add di dialog Add connection Databricks.

  7. Salin dan simpan dengan aman Client ID dan Client Secret yang dihasilkan Databricks.

Pendaftaran aplikasi OAuth mungkin memerlukan waktu hingga 30 menit untuk diproses di database Databricks. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Databricks resmi.

Mengonfigurasi koneksi di Looker

Setelah mengonfigurasi Looker sebagai aplikasi OAuth kustom di database Databricks, Anda dapat mengonfigurasi koneksi Looker ke Databricks yang menggunakan OAuth.

  1. Di bagian Admin di Looker, pilih Connections, lalu klik Add Connection.
  2. Isi detail koneksi, seperti yang dijelaskan di bagian Membuat koneksi Looker ke database Anda di halaman ini.
  3. Pilih opsi OAuth di kolom Authentication.
  4. Saat Anda memilih opsi OAuth, Looker akan menampilkan kolom OAuth Client ID dan OAuth Client Secret. Untuk nilai ini, masukkan Client ID dan Client Secret yang dibuat oleh Databricks saat Anda mengaktifkan Looker sebagai aplikasi OAuth kustom di Databricks.
  5. Pilih tombol Test di bagian bawah halaman Connections Settings untuk memastikan Looker dapat berhasil membuat alur OAuth dan terhubung ke instance Databricks Anda.

Parameter JDBC yang didukung

Untuk Databricks, Looker mendukung parameter JDBC berikut di kolom Additional JDBC parameters untuk koneksi. Lihat dokumentasi database Anda untuk mengetahui informasi tentang parameter ini.

  • Auth_Flow
  • AuthMech
  • catalogSchemaSwitch
  • ConnSchema
  • httpPath
  • LogLevel
  • OAuth2ClientId
  • OAuth2Secret
  • PWD
  • SocketTimeout
  • ssl
  • transportMode
  • UID
  • UserAgentEntry

Dukungan fitur

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

Databricks mendukung fitur berikut mulai Looker 26.22:

Fitur Didukung?
Looker (Google Cloud core)
Agregat simetris
Tabel turunan
Tabel turunan SQL persisten
Tabel turunan berbasis persisten
Tampilan stabil
Penghentian kueri
Pivot berbasis SQL
Zona waktu
SSL
Subtotal
Parameter tambahan JDBC
Peka huruf besar/kecil
Jenis lokasi
Jenis daftar
Persentil
Persentil berbeda
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
SQL Runner Count
SQL Explain
Kredensial OAuth 2.0
Komentar konteks
Penggabungan koneksi
Sketsa HLL
Aggregate awareness
PDT inkremental
Milidetik
Mikrodetik
Tampilan terwujud
Pengukuran dari periode ke periode
Jumlah perkiraan berbeda
Model analisis dalam database
Kalender kustom