Penggunaan
derived_table: customer_order_facts {
sql_create: {
SQL statement ;;
}
}
|
Hierarki
sql_create |
Nilai Default
Tidak ada
Menerima
Pernyataan SQL
|
Definisi
sql_create memungkinkan perintah Bahasa Definisi Data (DDL) kustom untuk membangun tabel turunan persisten (PDT). sql_create akan mengeluarkan pernyataan apa adanya, tanpa pemeriksaan error Looker yang biasa. Satu-satunya persyaratan adalah pernyataan tersebut menghasilkan pembuatan dan eksekusi PDT. Dengan begitu, Anda dapat membuat PDT yang mendukung model machine learning BigQuery ML Google, misalnya.
Untuk PDT yang ditentukan menggunakan
sql_create, Anda tidak dapat menggunakan salah satu parameter berikut:indexescluster_keysdistributiondistribution_stylepartition_keyssortkeys
Contoh
Buat PDT untuk kueri BigQuery ML yang memprediksi kemungkinan pembelian di masa mendatang:
view: future_purchase_model {
derived_table: {
datagroup_trigger: bqml_datagroup
sql_create:
CREATE OR REPLACE MODEL ${SQL_TABLE_NAME}
OPTIONS(model_type='logistic_reg'
, labels=['will_purchase_in_future']
, min_rel_progress = 0.005
, max_iterations = 40
) AS
SELECT
* EXCEPT(fullVisitorId, visitId)
FROM ${training_input.SQL_TABLE_NAME};;
}
}
Hal-hal yang perlu dipertimbangkan
Operator substitusi ${SQL_TABLE_NAME}
Anda dapat menggunakan operator penggantian ${SQL_TABLE_NAME} untuk mengganti nama PDT yang sedang dibuat. Hal ini memastikan pernyataan SQL akan menyertakan nama PDT yang diberikan dalam parameter LookML view dengan benar.
sql_createharus membuat tabel dengan nama yang ditunjukkan oleh operator penggantian${SQL_TABLE_NAME}, atau tabel akan dibangun ulang dari awal pada setiap interval pemeriksaan pemicu yang ditentukan dalam setelan PDT and Datagroup Maintenance Schedule koneksi (defaultnya adalah lima menit). Hal ini dapat menyebabkan traffic kueri yang tidak terduga pada database atau data warehouse Anda.
Menggunakan create_process untuk membuat PDT dalam beberapa langkah
Jika dialek database Anda memerlukan perintah DDL kustom, dan Anda ingin mengeluarkan beberapa perintah untuk membuat PDT, Anda dapat menggunakan create_process untuk mengeluarkan beberapa perintah DDL kustom dalam urutan tertentu.
Tabel yang ditentukan dengan sql_create tidak dapat digunakan untuk PDT inkremental
Agar dapat digunakan sebagai PDT inkremental, PDT berbasis SQL harus memiliki kueri yang ditentukan menggunakan parameter sql. PDT berbasis SQL yang ditentukan dengan parameter sql_create atau parameter create_process tidak dapat dibuat secara inkremental.
Hal ini karena Looker menggunakan perintah INSERT atau MERGE untuk membuat inkremen untuk PDT inkremental. Tabel turunan tidak dapat ditentukan menggunakan pernyataan Bahasa Definisi Data (DDL) kustom, karena Looker tidak akan dapat menentukan pernyataan DDL mana yang diperlukan untuk membuat inkrement yang akurat.