Penggunaan
view: my_view {
derived_table: {
publish_as_db_view: yes
...
}
}
|
Hierarki
publish_as_db_view- atau - publish_as_db_view |
Nilai Default
no
Menerima
Boolean (yes atau no)
Aturan Khusus
|
Definisi
Parameter publish_as_db_view memungkinkan Anda menandai tabel persisten (yang mencakup tabel turunan persisten dan tabel gabungan untuk membuat kueri di luar Looker. Untuk tabel persisten dengan publish_as_db_view yang ditetapkan ke yes, Looker membuat tampilan database yang stabil di database untuk tabel persisten. Tampilan database stabil dibuat di database itu sendiri sehingga dapat dikueri di luar Looker. Konsep tampilan database yang stabil berbeda dengan tampilan LookML, karena tampilan LookML ada di instance Looker Anda, bukan di database itu sendiri.
Tampilan database yang stabil akan dipublikasikan (dibuat) pada siklus regenerator Looker berikutnya setelah LookML tabel persisten di-deploy ke produksi dengan publish_as_db_view: yes.
Contoh
Membuat tampilan database yang stabil untuk PDT
Buat PDT e_flights_pdt yang tampilan databasenya yang stabil dibuat di database:
view: e_flights_pdt {
derived_table: {
publish_as_db_view: yes
datagroup_trigger: e_flights_default_datagroup
explore_source: ontime {
timezone: "America/Los_Angeles"
column: flight_num {}
column: carrier {}
column: arr_date {}
}
}
dimension: flight_num {}
dimension: carrier {}
dimension: arr_date {
type: date
}
}
Tampilan database stabil untuk e_flights_pdt akan dipublikasikan pada siklus regenerator Looker berikutnya setelah LookML PDT di-deploy ke produksi. Setelah Looker membuat PDT, Anda dapat membuat kueri tampilan database yang stabil di database.
Membuat tampilan database yang stabil untuk tabel gabungan
Buat tabel gabungan weekly_orders yang tampilan database stabilnya dibuat di database:
explore: orders {
aggregate_table: weekly_orders {
materialization: {
sql_trigger_value: SELECT CURDATE() ;;
publish_as_db_view: yes
}
query: {
dimensions: [orders.status, orders.created_week]
measures: [orders.count]
}
}
}
Tampilan database yang stabil untuk tabel gabungan weekly_orders akan dipublikasikan pada siklus regenerator Looker berikutnya setelah LookML tabel gabungan di-deploy ke produksi. Setelah Looker membuat tabel gabungan, Anda dapat membuat kueri tampilan database yang stabil di database.
Mengakses tampilan database yang stabil
Saat tampilan database stabil dipublikasikan untuk tabel persisten, Anda dapat membuat kueri secara langsung setelah mendapatkan nama stabil. Ada dua cara untuk mendapatkan nama tampilan stabil untuk tabel yang dipertahankan:
Modal detail PDT
Jika Anda adalah admin atau pengguna dengan izin see_pdts, Anda dapat menggunakan halaman Persistent Derived Tables di bagian Admin Looker untuk mendapatkan nama tampilan database yang stabil untuk tabel yang dipertahankan:
- Klik ikon Menu utama Looker dan pilih Admin, jika menu Admin belum ditampilkan. (Jika Anda berada di bagian Jelajahi atau Kembangkan di Menu utama Looker, Anda mungkin harus mengklik panah kembali untuk melihat menu Admin.)
- Dari menu Admin, pilih Persistent Derived Tables.
- Di halaman Persistent Derived Tables, telusuri nama tabel persisten Anda.
- Klik menu tiga titik untuk tabel persisten Anda, lalu pilih Detail PDT.
- Di modal PDT Details, cari kolom Stable Name.
Untuk membuat kueri tabel tampilan stabil secara langsung, tambahkan nama skema sementara sebelum nama tabel. Misalnya, jika nama skema sementara adalah tmp, Anda dapat membuat kueri tampilan database stabil dengan perintah seperti ini:
SELECT * from tmp.CL_e_redlook_e_redlook_inc_pdt
Tab SQL pada Eksplorasi
Jika Anda tidak memiliki akses ke halaman admin Tabel Turunan Persisten, Anda dapat menggunakan informasi yang disertakan di tab SQL pada Eksplorasi untuk menentukan nama tampilan stabil untuk tabel persisten. Nama tampilan stabil menggunakan format ini:
[scratch schema name].[connection registration key]_[model_name]_[view_name]
Misalnya, jika Anda memiliki tabel persisten yang ada dalam model bernama faa dan tampilan dengan nama e_flights_pdt, Anda hanya memerlukan nama skema sementara dan kunci pendaftaran koneksi. Anda dapat menemukan keduanya dari tab SQL di bagian Data dari kueri pada tabel yang dipertahankan. Dalam pernyataan CREATE TABLE atau FROM di tab SQL, Anda dapat menemukan informasi sebagai berikut:
- Kunci pendaftaran koneksi terdiri dari dua karakter; bergantung pada dialek database Anda, kunci ini akan mengikuti tanda dolar atau garis bawah pertama dalam nama tabel yang dipertahankan.
- Nama skema sementara adalah awal string setelah
CREATE TABLEatauFROM, sebelum "."
Dalam semua contoh kueri berikut, kunci pendaftaran koneksi adalah LB, dan nama skema sementara adalah tmp.
Berikut adalah contoh kueri SQL yang dihasilkan Looker dengan pernyataan CREATE TABLE untuk dialek yang menggunakan tanda dolar sebelum kunci pendaftaran koneksi. Nama tampilan adalah e_flights_pdt, dan nama tabel turunan yang dibuat adalah tmp.LR$LBC5Q1576702903774_e_flights_pdt.
generate derived table e_flights_pdt
Building e_flight::e_flights_pdt in dev mode on instance b6ff28049851f1954156526c66ca9912
CREATE TABLE tmp.LR$LBC5Q1576702903774_e_flights_pdt (INDEX(flight_num)) SELECT
ontime.flight_num AS `flight_num`
ontime.carrier AS `carrier,
(TIMESTAMP(DATE (CONVERT_TZ(ontime.arr_time, 'UTC', 'America/Los_Angeles')))) AS
`arr_date``
FROM `flightstats`.`ontime` AS `ontime`
GROUP BY
1,
2,
3
-- finished e_flights_pdt => tmp.LR$LBC5Q1576702903774_e_flights_pdt
SELECT
e_flights_pdt.flight_num AS `e_flights_pdt.flight_num`,
e_flights_pdt.carrier AS `e_flights_pdt.carrier`
FROM tmp.LR$LBC5Q1576702903774_e_flights_pdt AS e_flights_pdt
GROUP BY
1,
2
ORDER BY
e_flights_pdt.flight_num
LIMIT 5
Berikut adalah contoh kueri SQL yang dihasilkan Looker dengan pernyataan FROM untuk dialek yang menggunakan tanda garis bawah sebelum kunci pendaftaran koneksi. Nama tampilan adalah e_flights_pdt, dan nama tabel turunan yang dibuat adalah tmp.LR_LBFIM1580333699953_e_flights_pdt.
--use existing e flights pdt in tmp.LR_LBFIM1580333699953_e_flights_pdt
SELECT
e_flights_pdt.id AS `e_flights_pdt.id`,
DATE(e_flights_pdt.faa_event_date) AS `e_flights_pdt. faa_event_date`
FROM tmp.LR_LBFIM1580333699953_e_flights_pdt AS e_flights_pdt
GROUP BY 1,2
ORDER BY DATE(e_flights_pdt.faa_event_date) DESC
LIMIT 5
Sekali lagi, tampilan database stabil memiliki format berikut:
[scratch schema name].[connection registration key]_[model_name]_[view_name]
Berikut semua nilainya:
[scratch schema name]tmp[connection registration key]LB[model_name]faa[view_name]e_flights_pdt
Kemudian, ini adalah nama tampilan database stabil tabel yang dipertahankan:
tmp.LB_faa_e_flights_pdt
Setelah memiliki nama tampilan database yang stabil, Anda dapat membuat kueri secara langsung. Contoh:
SELECT * from tmp.LB_faa_e_flights_pdt
Hal-hal yang perlu dipertimbangkan
Beberapa dialek memerlukan sintaksis tambahan
Jika kunci pendaftaran koneksi dimulai dengan angka, beberapa dialek memerlukan tanda petik ganda, tanda petik terbalik, tanda kurung, atau sintaksis serupa di sekitar bagian kedua nama tampilan database yang stabil. Misalnya, Amazon Redshift memerlukan tanda petik ganda; jadi, jika kunci pendaftaran koneksi Anda diawali dengan angka, formatnya adalah:
[scratch schema name]."[connection registration key]_[model_name]_[view_name]"
Misalnya, jika kunci pendaftaran koneksi adalah 84, Anda akan memasukkan tanda petik di sekitar bagian kedua dari nama tabel stabil, setelah titik. Jadi, kueri Anda ke database akan terlihat seperti ini:
SELECT * from tmp."84_faa_e_flights_pdt"
Lihat dokumentasi untuk dialek Anda guna mengetahui informasi tentang sintaksis spesifik yang diperlukan.
Koneksi database harus memiliki izin CREATE VIEW
Untuk membuat tampilan di database Anda, akun yang digunakan Looker untuk terhubung ke database Anda harus memiliki izin CREATE VIEW untuk skema sementara database.
Nama pengguna, sandi, dan skema sementara database dikonfigurasi saat Anda menghubungkan Looker ke database.
Anda dapat menguji koneksi untuk melihat apakah nama tampilan yang stabil didukung untuk koneksi Anda. Jika dialek Anda mendukung nama tampilan stabil dan jika PDT diaktifkan pada koneksi, Looker akan menguji koneksi untuk melihat apakah koneksi tersebut akan mengizinkan tampilan stabil:
- Jika koneksi memungkinkan tampilan yang stabil, uji koneksi akan menampilkan hasil seperti
Can use stable views in temp schema "docsexamples_scratch" in database "flightstats". - Jika koneksi tidak memungkinkan tampilan yang stabil, uji koneksi akan menampilkan hasil seperti
Cannot use stable views in temp schema "docsexamples" in database "flightstats", beserta detail lebih lanjut sepertiCREATE VIEW command denied to user 'docsexamples'.
Dukungan dialek untuk tampilan database yang stabil
Kemampuan untuk membuat tampilan database stabil tabel persisten bergantung pada dialek database yang digunakan koneksi Looker Anda. Dalam rilis Looker terbaru, dialek berikut mendukung tampilan database stabil tabel persisten:
| Dialek | Didukung? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13+ | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |