Ringkasan ukuran repositori

Dokumen ini membantu Anda memahami pengaruh ukuran repositori terhadap pengembangan alur kerja SQL dan penggunaan resource kompilasi Dataform, serta cara memperkirakan penggunaan resource kompilasi repositori Anda.

Tentang ukuran repositori di Dataform

Ukuran repositori memengaruhi aspek pengembangan Dataform berikut ini:

Kolaborasi
Beberapa kolaborator yang mengerjakan repositori besar dapat membuat terlalu banyak permintaan pull, yang meningkatkan risiko konflik penggabungan.
Keterbacaan codebase
Jumlah file yang lebih besar yang membentuk alur kerja SQL dalam satu repositori dapat menyulitkan navigasi melalui repositori.
Proses pengembangan
Beberapa area alur kerja SQL yang besar dalam satu repositori mungkin memerlukan izin atau proses kustom, seperti penjadwalan, yang berbeda dengan izin dan proses yang diterapkan pada alur kerja SQL lainnya. Ukuran repositori yang besar menyulitkan penyesuaian proses pengembangan dengan area tertentu dalam alur kerja SQL.
Kompilasi alur kerja
Formulir data menerapkan batas penggunaan untuk resource kompilasi. Ukuran repositori yang besar dapat menyebabkan batas ini terlampaui, sehingga menyebabkan kompilasi gagal.
Eksekusi alur kerja
Selama eksekusi, Dataform akan mengeksekusi semua kode repositori di dalam ruang kerja Anda dan men-deploy aset ke BigQuery. Semakin besar repositori, semakin banyak waktu yang dibutuhkan Dataform untuk mengeksekusinya.

Jika ukuran repositori yang besar berdampak negatif pada pengembangan Dataform, Anda dapat membagi repositori menjadi beberapa repositori yang lebih kecil.

Tentang batas resource kompilasi repositori

Selama pengembangan, Dataform mengompilasi semua kode repositori di dalam ruang kerja Anda untuk menghasilkan representasi alur kerja SQL di repositori Anda, yang disebut hasil kompilasi. Dataform memberlakukan batas penggunaan pada resource kompilasi.

Repositori Anda mungkin melebihi batas penggunaan karena alasan berikut:

  • Bug loop tanpa batas dalam kode repositori.
  • Bug kebocoran memori dalam kode repositori.
  • Ukuran repositori yang besar, sekitar lebih dari 1.000 node alur kerja SQL.

Untuk mengetahui informasi selengkapnya tentang batas penggunaan resource kompilasi, lihat Batas resource kompilasi formulir data.

Memperkirakan penggunaan resource kompilasi repositori Anda

Anda dapat memperkirakan penggunaan resource kompilasi berikut untuk repositori Anda:

  • Penggunaan waktu CPU
  • Total ukuran data serialisasi maksimum dari grafik tindakan yang dihasilkan yang ditentukan di repositori Anda

Untuk mendapatkan perkiraan kasar tentang penggunaan waktu CPU kompilasi saat ini untuk kompilasi repositori, Anda dapat mengatur waktu kompilasi alur kerja SQL Dataform Anda di mesin Linux atau macOS lokal.

  • Untuk mengatur waktu kompilasi alur kerja SQL Anda, di dalam repositori, jalankan perintah dataform compile CLI Dataform dalam format berikut:
time dataform compile

Contoh kode berikut menunjukkan hasil dari eksekusi perintah time dataform compile:

real    0m3.480s
user    0m1.828s
sys     0m0.260s

Anda dapat memperlakukan hasil real sebagai indikator kasar dari penggunaan waktu CPU untuk kompilasi repositori Anda.

Untuk mendapatkan perkiraan kasar dari ukuran total grafik tindakan yang dihasilkan dalam repositori, Anda dapat menulis output grafik ke file JSON. Anda dapat memperlakukan ukuran file JSON yang tidak dikompresi sebagai indikator kasar dari total ukuran grafik.

  • Untuk menulis output grafik yang dikompilasi dari alur kerja SQL Anda ke file JSON, di dalam repositori, jalankan perintah CLI Dataform berikut:
dataform compile --json > graph.json

Langkah selanjutnya