Ringkasan Dataform

Dokumen ini memperkenalkan konsep dan proses Dataform kepada Anda.

Dataform adalah layanan bagi analis data untuk mengembangkan, menguji, mengontrol versi, dan menjadwalkan alur kerja SQL yang kompleks untuk transformasi data di BigQuery.

Dataform memungkinkan Anda mengelola transformasi data dalam proses Ekstraksi, Pemuatan, dan Transformasi (ELT) untuk integrasi data. Setelah data mentah di-ekstrasi dari sistem sumber dan dimuat ke BigQuery, Dataform membantu Anda mengubahnya menjadi rangkaian tabel data yang terdefinisi dengan baik, diuji, dan didokumentasikan.

Dataform memungkinkan Anda melakukan tindakan transformasi data berikut:

  • Mengembangkan dan menjalankan alur kerja SQL untuk transformasi data.
  • Berkolaborasi dengan anggota tim dalam pengembangan alur kerja SQL melalui Git.
  • Mengelola banyak tabel dan dependensinya.
  • Mendeklarasikan data sumber dan mengelola dependensi tabel.
  • Lihat visualisasi hierarki dependensi alur kerja SQL Anda.
  • Mengelola data dengan kode SQL di repositori pusat.
  • Menggunakan kembali kode dengan JavaScript.
  • Uji kebenaran data dengan pengujian kualitas pada tabel sumber dan output.
  • Kontrol versi kode SQL.
  • Mendokumentasikan tabel data di dalam kode SQL.

Proses transformasi data di Dataform

Alur kerja transformasi data untuk Dataform adalah sebagai berikut:

  1. Dataform memungkinkan Anda membuat repositori untuk mengelola kode.
  2. Dataform memungkinkan Anda membuat ruang kerja untuk pengembangan.
  3. Dataform memungkinkan Anda mengembangkan alur kerja SQL di ruang kerja pengembangan.
  4. Dataform mengompilasi core Dataform ke dalam SQL.
  5. Dataform mengeksekusi hierarki dependensi.

Dataform memungkinkan Anda membuat repositori untuk mengelola kode

Di repositori Dataform, Anda menggunakan inti Dataform, ekstensi SQL, untuk menulis file SQLX tempat Anda menentukan alur kerja. Repositori Dataform mendukung kontrol versi. Anda dapat menautkan repositori Dataform ke penyedia Git pihak ketiga.

Dataform memungkinkan Anda membuat ruang kerja untuk pengembangan

Anda dapat membuat ruang kerja pengembangan di dalam repositori Dataform untuk pengembangan inti Dataform. Di workspace pengembangan, Anda dapat membuat perubahan pada repositori, mengompilasi, menguji, dan mengirimkannya ke repositori utama melalui Git.

Dataform memungkinkan Anda mengembangkan inti Dataform di ruang kerja pengembangan

Di ruang kerja pengembangan, Anda dapat menentukan dan mendokumentasikan tabel, dependensinya, dan logika transformasi untuk membuat alur kerja SQL. Anda juga dapat mengonfigurasi tindakan di JavaScript.

Dataform mengompilasi inti Dataform

Selama kompilasi, Dataform melakukan tugas berikut:

  • Mengompilasi inti Dataform ke dalam alur kerja SQL dari SQL Standar.
  • Menambahkan pernyataan SQL boilerplate, seperti CREATE TABLE atau INSERT, ke kode inline dengan konfigurasi kueri Anda.
  • Mentranspile (mengompilasi source-to-source) JavaScript menjadi SQL.
  • Menyelesaikan dependensi dan memeriksa error, termasuk dependensi yang hilang atau sirkular.
  • Membuat hierarki dependensi dari semua tindakan yang akan dijalankan di BigQuery.

Kompilasi Dataform bersifat hermetis untuk memastikan konsistensi kompilasi, yang berarti bahwa kode yang sama dikompilasi ke hasil kompilasi SQL yang sama setiap saat. Dataform mengompilasi kode Anda di lingkungan sandbox tanpa akses internet. Tidak ada tindakan tambahan, seperti memanggil API eksternal, yang tersedia selama kompilasi.

Untuk men-debug secara real-time, Anda dapat memeriksa alur kerja SQL yang dikompilasi dari project dalam grafik interaktif di ruang kerja pengembangan.

Dataform mengeksekusi hierarki dependensi

Di BigQuery, Dataform melakukan tugas berikut:

  • Menjalankan perintah SQL, mengikuti urutan hierarki dependensi.
  • Menjalankan kueri pernyataan terhadap tabel dan tampilan untuk memeriksa kebenaran data.
  • Menjalankan operasi SQL lain yang Anda tentukan.

Setelah eksekusi, Anda dapat menggunakan tabel dan tampilan untuk semua tujuan analisis.

Anda dapat melihat log untuk melihat tabel yang dibuat, apakah pernyataan lulus atau gagal, berapa lama waktu yang diperlukan untuk menyelesaikan setiap tindakan, dan informasi lainnya. Anda juga dapat melihat kode SQL yang tepat yang dijalankan di BigQuery.

Framework pemodelan Dataform

Dataform menyediakan framework pemodelan data open source, yang terdiri dari Dataform core dan Dataform CLI, yang dapat Anda gunakan di luar Google Cloud.

Batasan

Dataform memiliki batasan umum berikut:

  • Dataform di Google Cloud berjalan pada runtime V8 biasa dan tidak mendukung kemampuan dan modul tambahan yang disediakan oleh Node.js. Jika codebase yang ada memerlukan modul Node.js, Anda harus menghapus dependensi ini.

    Project tanpa kolom nama di package.json akan menghasilkan perbedaan di package-lock.json setiap kali paket diinstal. Untuk menghindari hasil ini, Anda perlu menambahkan properti name di package.json.

  • URL git+https:// untuk dependensi di package.json tidak didukung.

    Konversikan URL tersebut ke URL arsip https:// biasa. Misalnya, konversikan git+https://github.com/dataform-co/dataform-segment.git#1.5 ke https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz.

  • Pengujian unit yang dijalankan secara manual tidak tersedia.

  • Penelusuran konten file di ruang kerja pengembangan tidak tersedia.

  • Mulai 3.0.0. inti Dataform, Dataform tidak mendistribusikan image Docker. Anda dapat mem-build image Docker Dataform sendiri, yang dapat digunakan untuk menjalankan perintah CLI Dataform yang setara. Untuk mem-build image Docker Anda sendiri, lihat Mengemas aplikasi dalam container dalam dokumentasi Docker.

  • Metode Dataform API berikut tidak mematuhi panduan AIP.134 dengan memperlakukan entri karakter pengganti * sebagai permintaan yang buruk dan dengan memperbarui semua kolom, bukan kolom yang ditetapkan saat field_mask dihilangkan:

Langkah selanjutnya