New LookML — Cara mengonversi project LookML YAML

Looker 4.0 memperkenalkan sintaksis LookML baru yang ditingkatkan dari LookML asli bergaya YAML dengan sintaksis yang sudah dikenal tetapi lebih mudah dan IDE yang kaya dan asistif untuk mempermudah pengembangan LookML. Dari Looker 4.4 dan seterusnya, semua project LookML baru harus dibuat di LookML baru; tetapi, beberapa project yang dibuat sebelum konversi mungkin masih dimodelkan dalam LookML YAML (lama).

Looker menyediakan cara otomatis untuk mengonversi project LookML YAML ke LookML baru. Halaman ini menjelaskan cara melakukan proses tersebut. Setiap project LookML perlu dikonversi satu per satu, dan developer harus mempersiapkan serta mengoordinasikan upaya, jadi pastikan untuk membaca seluruh halaman ini sebelum mengonversi project.

Bersiap untuk mengonversi

Tugas mengonversi project LookML YAML ke LookML baru harus dilakukan oleh satu developer LookML saja. Konversi berlangsung dalam Mode Pengembangan developer, lalu perubahan tersebut kemudian di-commit dan di-deploy seperti perubahan LookML biasa.

Meskipun demikian, proses ini memerlukan kerja sama semua developer LookML. Karena konversi pada dasarnya mengubah setiap baris LookML, penting untuk memastikan bahwa developer LookML lain telah meng-commit dan men-deploy semua perubahan mereka ke project sebelum proses konversi dimulai. Melakukan sebaliknya dapat menyebabkan beberapa konflik penggabungan Git yang sangat buruk.

Meskipun proses konversi bersifat otomatis, LookML yang baru jauh lebih menyeluruh dalam pemeriksaan error daripada YAML LookML. Artinya, setelah konversi, error mungkin muncul yang sebelumnya tidak muncul. Mengatasi error ini akan meningkatkan kualitas project. Jumlah error akan bervariasi dari satu project ke project lain. Artinya, perbaikannya dapat memerlukan waktu dari beberapa menit hingga beberapa jam. Apa pun itu, pengembangan pada project harus tetap dijeda oleh semua developer LookML sampai error diperbaiki.

Menemukan project YAML di instance Looker Anda

Untuk melihat project YAML di instance Looker Anda:

  1. Dari menu Develop, pilih opsi Manage LookML Projects atau Projects (opsi ini sedikit berbeda tergantung tempat Anda mengakses menu Develop).
  2. Di halaman LookML Projects, cari label YAML LookML di baris tabel project:

    TIPS: Anda dapat memilih nama project di tabel untuk membuka LookML project.

Koordinasikan dengan developer sebelum melakukan konversi

Untuk mempersiapkan konversi ke LookML baru:

  1. Pilih satu developer LookML untuk menjalankan proses konversi.
  2. Pastikan project bebas dari error dengan menjalankan Validator LookML. Perbaiki semua error, lalu commit dan deploy perubahan sebelum melanjutkan ke langkah berikutnya.
  3. Tentukan waktu untuk melakukan konversi.
  4. Beri tahu semua developer LookML lainnya bahwa mereka perlu memiliki perubahan yang sedang mereka kerjakan di-commit dan di-deploy pada waktu yang ditetapkan. Artinya, semua salinan Mode Pengembangan project harus dalam status Git Up to Date dengan Production.
  5. Sampaikan kepada semua developer LookML lainnya bahwa mereka tidak boleh membuat, melakukan, atau men-deploy perubahan apa pun hingga konversi selesai.

Konversikan ke LookML Baru

Untuk mengonversi ke LookML baru, jalankan pengonversi:

  1. Masuk ke Mode Pengembangan.
  2. Buka project yang akan dikonversi.
  3. Pastikan status Git di pojok kiri atas menampilkan Up to Date dengan Production.
  4. Jalankan Validator LookML untuk memastikan tidak ada error dalam project — hasilnya seharusnya Tidak Ada Masalah LookML. (Untuk menjalankan Validator LookML, pilih tombol Validate LookML di kanan atas Looker IDE; atau pilih ikon Project Health di bagian atas IDE untuk membuka panel Project Health, lalu pilih Validate LookML.)
  5. Untuk mengonversi project dari YAML LookML ke LookML baru:

    1. Pilih ikon Git Actions dari sidebar navigasi Looker IDE.
      • Atau, pilih ikon Project Health dari bagian atas IDE:

    2. Pilih opsi Convert Project to New LookML dari panel Git Actions atau dari bagian bawah panel Project Health.
    3. Pilih tombol Convert to New LookML di dialog konfirmasi.

Memvalidasi LookML baru

Saat konverter selesai berjalan, IDE akan menunjukkan bahwa file Anda telah berubah dengan titik di samping setiap nama file:

Untuk memvalidasi LookML baru:

  1. Pilih tombol Validasi LookML untuk menjalankan Validator LookML. Jika tidak ada error, Anda dapat langsung membuka bagian Commit dan men-deploy LookML baru di halaman ini.
  2. Anda mungkin melihat kesalahan yang sebelumnya tidak ada sama sekali. Seperti disebutkan sebelumnya, LookML baru lebih menyeluruh dalam memeriksa error daripada YAML LookML. Periksa dan perbaiki error yang terjadi. Jika Anda mengalami kesulitan untuk mengatasinya, lihat bagian Menyelesaikan error di akhir halaman ini.

Meng-commit dan men-deploy LookML baru

Pada tahap ini, commit dan deploy seperti yang Anda lakukan dengan perubahan LookML biasa. Perhatikan: commit ini akan memicu build ulang tabel turunan persisten (PDT). Setelah commit di-deploy, beri tahu semua developer LookML lainnya bahwa konversi telah selesai dan kueri yang mengandalkan PDT mungkin membutuhkan waktu sedikit lebih lama dari biasanya untuk dijalankan, setidaknya hingga semuanya di-build ulang. Developer dapat mengambil langkah dari produksi dalam Mode Pengembangan untuk membawa perubahan, kemudian melanjutkan pengembangan — kini dengan sintaksis LookML yang lebih baik dan lebih intuitif serta IDE yang jauh lebih bermanfaat dan canggih.

Menyelesaikan error

Sebagai hasil dari validasi model LookML baru yang lebih menyeluruh, Anda mungkin melihat error setelah melakukan konversi yang tidak muncul sebelumnya. Selain itu, pemeriksaan error ad hoc LookML yang baru memerlukan lebih banyak informasi dalam beberapa kasus; pengonversi mencoba mencari tahu hal ini untuk Anda, tetapi dalam beberapa kasus, Anda mungkin perlu menambahkan baris include tambahan dalam satu atau dua baris file tampilan.

Referensi kolom tidak valid

Dalam beberapa konteks, LookML YAML (lama) tidak memastikan bahwa kolom atau set yang Anda rujuk benar-benar ditentukan di suatu tempat dalam model. Tempat yang paling mungkin untuk ditampilkan adalah daftar dan kumpulan kolom latihan.

Misalnya, jika LookML lama Anda menyertakan drill_fields: [id, name, email], tetapi pada suatu tahap dalam pengembangan model, Anda menghapus kolom name dan menggantinya dengan kolom first_name dan last_name, YAML LookML tidak akan memperingatkan Anda bahwa Anda mereferensikan sebuah kolom (name) dalam daftar kolom latihan ini yang tidak ada. Hal ini juga dapat terjadi jika Anda mereferensikan kolom dalam grup dimensi dan YAML LookML tidak menentukan kolom seperti yang dilakukan LookML yang baru.

Di sisi lain, LookML baru akan menampilkan jenis error ini. Jadi, setelah mengonversi project dan menjalankan Validator LookML, Anda mungkin menemukan error tentang referensi kolom tidak valid yang belum pernah Anda lihat sebelumnya. Memperbaiki error ini akan meningkatkan kualitas model Anda secara keseluruhan.

Penyertaan tidak ada dalam file tampilan

Dalam beberapa kasus, pemeriksaan error ad hoc LookML baru memerlukan konteks yang sedikit lebih banyak daripada yang diperlukan dalam YAML LookML. Secara khusus, Anda mungkin perlu menempatkan baris include di beberapa file tampilan, paling sering saat satu tampilan memperluas tampilan lainnya.

Jika tidak ada ambiguitas tentang file mana yang perlu disertakan dalam tampilan, pengonversi akan otomatis menambahkan deklarasi include yang sesuai dalam file tampilan LookML baru, dan Anda tidak akan melihat error apa pun.

Namun, dalam beberapa kasus (seperti pada project yang berisi beberapa model), mungkin ada dua atau beberapa tampilan dengan nama yang sama yang dideklarasikan dalam file tampilan terpisah. Converter tidak akan dapat menentukan mana yang benar untuk disertakan, sehingga akan menambahkan komentar di bagian atas file LookML baru untuk menunjukkan bahwa hanya salah satu dari tampilan tersebut yang harus disertakan. Atasi error yang dihasilkan dengan membuka file tampilan dan menghapus tanda komentar pada saran yang benar.

Jelajah extension_required Terdampar

Seperti masalah referensi kolom tidak valid yang dijelaskan sebelumnya, dalam LookML baru, Validator LookML akan memberi tahu Anda tentang Jelajah yang dideklarasikan dengan extension: required, tetapi sebenarnya tidak diperpanjang. Untuk mengatasi error ini, hubungkan kembali Jelajah ini ke objek yang diperluas atau, jika tidak digunakan, hapus objek tersebut.

Kontrol versi

Karena proses konversi LookML mengganti file tampilan dan model .lookml Anda dengan versi .lkml, jika satu atau beberapa developer meng-commit project Anda selama konversi, Anda akan berada di tengah-tengah konflik penggabungan. Karena alasan ini, sangat penting untuk memastikan hanya satu developer yang menjalankan pengonversi, dan mereka harus berkoordinasi untuk memastikan bahwa salinan Mode Pengembangan semua orang bersih dan terbaru sebelum memulai proses konversi.

Untuk menghindari masalah kontrol versi, kode harus dibekukan selama konversi. Developer lain tidak boleh memeriksa perubahan selama jangka waktu yang diblokir untuk konversi.

Jika developer yang menjalankan konversi mengalami masalah selama proses konversi, tetapi sebelum melakukan perubahan dan menerapkan perubahan ke produksi, mereka mungkin sebaiknya mengembalikan ke produksi. Opsi dari drop-down ini (seperti gambar di bagian Jalankan pengonversi di halaman ini) akan mengurungkan konversi, sehingga developer dapat memulai prosesnya dari awal.