Mengembangkan blok kustom untuk Looker Marketplace

Halaman ini menjelaskan cara membuat pemblokiran kustom yang dapat ditambahkan ke Looker Marketplace dan diakses oleh pengguna Looker lainnya.

Perhatikan bahwa Anda harus menjadi anggota Jaringan Partner Looker atau pelanggan Looker agar dapat mengirimkan konten ke Looker Marketplace.

Untuk mengetahui informasi tentang Pemblokiran Looker yang sudah dibuat dan tersedia untuk digunakan, lihat halaman dokumentasi Pemblokiran Looker. Untuk mengetahui informasi tentang cara menyesuaikan pemblokiran yang telah Anda instal dari Marketplace, lihat halaman dokumentasi Menyesuaikan Pemblokiran Looker Marketplace.

Untuk mengembangkan pemblokiran dan menyediakannya bagi semua pengguna Looker melalui Looker Marketplace, ikuti langkah-langkah yang dijelaskan di halaman ini:

  1. Siapkan dan hubungkan sumber data ke Looker.
  2. Buat project dan tambahkan file yang diperlukan.
  3. Buat blok Anda dapat diakses.
  4. Kirimkan pemblokiran Anda untuk peninjauan Looker.

Menyiapkan dan menghubungkan sumber data ke Looker

Blok adalah model data, sehingga berfungsi paling baik ketika dirancang untuk set data tertentu yang mudah diulang. Sebagian besar error penginstalan blok terjadi saat set data pengguna gagal cocok dengan skema, tabel, dan nama kolom dalam blok.

  • Jika Anda membuat blok untuk set data tertentu, seperti data Google Analytics, catat setelan atau penyesuaian apa pun yang telah Anda buat pada set data tersebut. Jika memungkinkan, lakukan penyesuaian seminimal mungkin untuk menyederhanakan penginstalan bagi pengguna. Berikan petunjuk khusus di file README.
  • Jika Anda membuat pemblokiran untuk pola analisis umum, seperti retensi kelompok, perhatikan kolom mana yang diharapkan untuk dimuat dalam set data pengguna. Kemungkinan besar, pengguna Anda tidak akan memiliki skema, tabel, dan nama kolom yang sama seperti di set data Anda. Gunakan konstanta LookML untuk nama tabel dan kolom, lalu beri tahu pengguna kolom mana yang perlu diperbarui di file README.

Setelah menentukan sumber data, hubungkan sumber data Anda ke Looker agar Anda dapat memulai pemodelan. Jika Anda perlu mengubah setelan koneksi default, buat catatan di file README.

Membuat project dan menambahkan file yang diperlukan

Buat project untuk mewakili blok Anda. Pertimbangkan untuk menggunakan konvensi penamaan seperti block-<database_dialect>-<role> (misalnya, block-redshift-admin).

Berikutnya, buat file berikut di project Anda:

  • File manifes yang menentukan nama project, nama koneksi, dan konstanta lainnya
  • File tampilan untuk setiap tampilan
  • File penjelajahan untuk setiap Explore
  • File model yang menyertakan semua file tampilan, file penjelajahan, dan file dasbor LookML dalam project
  • Minimal tiga file dasbor LookML
  • File marketplace.json yang berisi informasi yang akan ditampilkan di listingan Marketplace untuk blok ini
  • File LISENSI yang menyertakan teks lisensi open source MIT
  • File README yang menjelaskan petunjuk dan opsi penyiapan

Pengguna yang menginstal blok Anda dapat menyempurnakan Jelajah dasar, tampilan, dan dasbor dalam file refinements.lkml terpisah. Bagian berikut menjelaskan setiap jenis file yang diperlukan secara lebih mendetail:

Membuat file manifes

Buat file manifes untuk project Anda. File manifes harus dimulai dengan nama project, lalu menentukan beberapa konstanta LookML untuk diubah pengguna Anda. Misalnya, Anda harus menentukan nama koneksi Looker sebagai konstanta dengan export: override_required sehingga pengguna dapat menggantinya dengan nama koneksi mereka sendiri.

Berikut adalah contoh file manifes:

project_name: "block-ga-360"

################# Constants ################

## Used in google_analytics_block.model connection param
constant: CONNECTION_NAME {
  value: "looker-private-demo"
  export: override_required
}

## Used in ga_sessions.view sql_table_name
constant: SCHEMA_NAME {
  value: "bigquery-public-data.google_analytics_sample"
  export: override_optional
}

constant: GA360_TABLE_NAME {
  value: "ga_sessions_*"
  export: override_optional
}

Membuat file tampilan dan penjelajahan

Buat file view.lkml untuk setiap tampilan. Jika nama skema dan tabel pengguna mungkin berbeda dengan nama tabel dan skema Anda, pastikan untuk menentukan nama skema dan tabel sebagai constants dalam file manifes agar pengguna yang mendownload blok Anda dapat memperbarui nama skema dan tabel di file manifes yang dibuat secara otomatis. Kemudian, referensikan konstanta tersebut dalam parameter sql_table_name tampilan Anda.

Berikut adalah contoh file view.lkml blok:

view: user_facts {

  # SCHEMA_NAME and GA360_TABLE_NAME are constants
  sql_table_name: @{SCHEMA_NAME}.@{GA360_TABLE_NAME} ;;

  dimension: clientID {
    type: string
    sql: ${TABLE.clientId}
  }

}

Berikutnya, buat satu atau beberapa file explore.lkml. Pastikan setiap file eksplorasi menyertakan tampilan yang diperlukan untuk penjelajahan tersebut. Rancang Jelajah Anda dengan cermat agar berisi penggabungan yang logis, latihan, dan halaman Jelajah yang diseleksi. Setelah pengguna lain menginstal pemblokiran dari Marketplace, pengguna bisnis mereka harus dapat langsung masuk dan menganalisis data mereka.

Anda dapat menemukan daftar umum praktik terbaik pemodelan di Forum Komunitas kami dan di Praktik Terbaik Looker, seperti Praktik terbaik: anjuran dan larangan LookML dan Praktik terbaik: Menulis LookML yang berkelanjutan dan mudah dikelola.

Berikut adalah contoh file explore.lkml:

include: "/Google_Analytics/Sessions/*.view.lkml"

explore: future_input {
  view_label: "Audience Traits"
  label: "BigQuery ML Customer Likelihood to Purchase"
  description: "This explore allows you to slice and dice likeliness to purchase scores by different customer traits to see how they differ. The default range of data you are looking at is in the past 30 days"
  join: future_purchase_prediction {
    type: left_outer
    sql_on: ${future_purchase_prediction.clientId} = ${future_input.client_id} ;;
    relationship: one_to_one
  }
}

Membuat file model

Buat file model yang menyertakan semua file tampilan, penjelajahan, dan dasbor di project Anda. Pastikan nama koneksi dirujuk sebagai konstanta LookML dari file manifes Anda.

Tentukan minimal satu datagroup untuk menetapkan kebijakan penyimpanan dalam cache.

Berikut adalah contoh file model:

connection: "@{CONNECTION_NAME}"

include: "/views/*.view.lkml"
include: "/explores/*.explore.lkml"
include: "/dashboards/*.dashboard.lookml"

datagroup: nightly {
  sql_trigger: SELECT TIMEZONE('US/Pacific',GETDATE())::DATE;;
}

Membuat file dasbor LookML

Untuk disertakan dalam Looker Marketplace, setiap blok harus menyertakan minimal tiga dasbor LookML yang memberikan analisis yang bermakna dan bermanfaat. Dasbor harus estetik, fungsional, dan komprehensif serta tidak boleh menampilkan data yang diburamkan.

Meskipun tidak ada persyaratan desain yang ketat untuk dasbor LookML, Looker merekomendasikan praktik terbaik desain umum berikut:

  • Palet warna yang konsisten di seluruh dasbor
  • Minimal tujuh ubin
  • Minimal tiga jenis visualisasi yang berbeda (misalnya, nilai tunggal, batang, dan garis)

Visualisasi kustom tidak didukung saat mengembangkan dasbor untuk Blocks. Sebagai gantinya, gunakan jenis visualisasi native Looker.

Lihat halaman dokumentasi Parameter dasbor dan Parameter elemen dasbor untuk mengetahui informasi selengkapnya tentang cara menyesuaikan dasbor LookML dan visualisasi dalam dasbor LookML. Lihat file dasbor LookML Admin Redshift dari Blok Admin Redshift untuk mengetahui contoh file dasbor LookML.

Membuat file marketplace.json

Buat file marketplace.json untuk memberikan informasi tentang cara listingan harus ditampilkan di Marketplace. Setiap blok di Looker Marketplace harus memberikan informasi tambahan ini untuk membantu pengguna memilih blok yang paling sesuai dengan kebutuhan mereka. File marketplace.json Anda harus berisi:

  • Kolom label, category_label, dan branding Marketplace
  • Daftar constants LookML yang harus diisi oleh pengguna untuk mengisi model LookML (misalnya, nama koneksi)

Berikut adalah contoh file marketplace.json untuk blok Performa Google BigQuery:

{
  "label": "Google BigQuery Performance",
  "category_label": "Models",
  "branding": {
    "image_uri": "https://marketplace-api.looker.com/block-icons/google-cloud.png",
    "tagline": "This Block provides a comprehensive overview of all cost and performance data for one or multiple BigQuery projects, enabling users to effectively monitor BigQuery usage down to a per user level. It can be used to set up alerts to long running or high cost queries."
  },

  "constants": {
    "CONNECTION_NAME": {
      "label": "Connection Name",
      "value_constraint": "connection"
    },
    "SCHEMA_NAME": {
      "label": "Schema Name"
    },
    "AUDIT_LOG_EXPORT_TABLE_NAME": {
      "label": "Audit Log Export Table Name",
      "description": "The table name of your BigQuery Optimization data (typically cloudaudit_googleapis_com_data_access_*)."
    }
  },
  "models": [
    {
      "name": "block_bigquery_optimization_v2",
      "connection_constant": "CONNECTION_NAME"
    }
  ]
}

Screenshot berikut menunjukkan listingan Marketplace yang akan dibuat oleh file marketplace.json ini.

Contoh listingan Marketplace.

  • Kolom "label" mengontrol judul blok. Dalam contoh ini, data tersebut adalah Performa Google BigQuery.
  • Kolom "tagline" mengontrol paragraf pertama listingan Marketplace.
  • Kolom "image_uri" mengontrol gambar yang ditampilkan di sudut kiri atas listingan Marketplace. Dalam contoh ini, ini adalah logo Google Cloud.
  • Kolom "constants" meminta pengguna untuk mengisi konstanta mereka di UI Marketplace selama proses penginstalan. Dalam contoh ini, tiga konstanta tercantum dalam file marketplace.json (CONNECTION_NAME, SCHEMA_NAME, dan AUDIT_LOG_EXPORT_TABLE_NAME), sehingga pengguna akan diminta untuk menentukan nilai untuk ketiga kolom tersebut sebelum menginstal.

Membuat file LISENSI

Semua Pemblokiran Looker harus dilisensikan berdasarkan lisensi open source MIT. Sertakan teks dari lisensi ini dalam file bernama License. Lihat file LISENSI Blokir Admin Redshift untuk mengetahui contoh file LISENSI.

Membuat file README

File README harus berisi semua petunjuk untuk menerapkan blok dan harus secara eksplisit mengidentifikasi tempat penyesuaian diperlukan, seperti dalam file manifes yang dibuat otomatis](#the_autogenerated_manifest_file) atau file penyempurnaan. Lihat file README Blokir Admin Redshift untuk mengetahui contoh file README.

Hal-hal yang perlu dipertimbangkan untuk README Anda:

  • Sumber data apa yang dibutuhkan pengguna? Apakah mereka perlu membayar langganan?
  • Izin akses apa yang harus dimiliki pengguna {i>database<i}?
  • Setelan koneksi Looker apa yang diperlukan?
  • Apakah nama kolom blok akan cocok dengan nama kolom di set data pengguna Anda? Jika tidak, apa yang harus diubah oleh pengguna Anda?

File yang dibuat secara otomatis

Saat pengguna menginstal blok Anda, instance Looker mereka akan membuat project Looker baru dengan file project sebagai file hanya baca. Tindakan ini juga akan otomatis membuat file berikut untuk pengguna Anda:

  • File marketplace_lock.lkml hanya baca yang berisi informasi listingan marketplace
  • File manifes yang mereferensikan listingan dari marketplace_lock.lkml
  • File refinements.lkml yang mencakup semua tampilan dan eksplorasi dari blok Anda
  • File model hanya-baca yang menyertakan file model dari blok Anda dan file refinements.lkml

Pengguna yang menginstal blok Anda dari Looker Marketplace dapat menggunakan file refinements.lkml untuk menyempurnakan LookML Anda dan bahkan dapat menambahkan file LookML baru. Lihat halaman dokumentasi Menyesuaikan Pemblokiran Looker Marketplace untuk mendapatkan informasi selengkapnya tentang cara pengguna menyesuaikan pemblokiran Anda.

File manifes yang dibuat secara otomatis

File manifes yang dibuat secara otomatis memungkinkan pengguna yang menginstal blok Anda untuk menyetel variabel seperti nama koneksi. Konstanta LookML yang ditentukan dalam file manifes blok dapat diedit dalam file manifes yang dibuat secara otomatis, atau disetel oleh pengguna di antarmuka pengguna block download.

File penajaman

File refinements.lkml yang dibuat secara otomatis memungkinkan pengguna yang menginstal blok Anda untuk menyaring tampilan dan Jelajah yang menentukan blok Anda. Di sinilah pengguna yang mendownload blok Anda akan melakukan sebagian besar penyesuaian LookML agar sesuai dengan kasus penggunaan mereka.

Berikut adalah contoh file refinements.lkml yang dibuat secara otomatis:

include: "//ga360-v2/**/*.view.lkml"
include: "//ga360-v2/**/*.explore.lkml"

\# Use LookML refinements to refine views and explores that are defined in the remote project.
\# Learn more at: https://docs.looker.com/data-modeling/learning-lookml/refinements
\#
\#
\# For example we could add a new dimension to a view:
\#     view: +flights {
\#       dimension: air_carrier {
\#         type: string
\#         sql: ${TABLE}.air_carrier ;;
\#       }
\#     }
\#
\# Or apply a label to an explore:
\#     explore: +aircraft {
\#       label: "Aircraft Simplified"
\#     }
\#

Membuat proyek blok mudah diakses

Hosting LookML blok Anda di repositori GitHub yang dapat diakses secara publik.

Semua Pemblokiran Looker harus dilisensikan berdasarkan lisensi open source MIT, dan teks lisensi harus disertakan dalam file LISENSI di repositori.

Mengirimkan blok untuk ditinjau

Setelah pemblokiran Anda siap dikirim, ikuti petunjuk di Mengirimkan konten ke Looker Marketplace guna membuat dokumentasi pendukung untuk pemblokiran Anda, mengirimkan pemblokiran Anda ke tim Looker untuk ditinjau, dan memublikasikan pemblokiran Anda ke Looker Marketplace.