Batasan & FAQ untuk integrasi Git dengan folder Databricks Git
Folder Databricks Git dan integrasi Git memiliki batasan yang ditentukan di bagian berikut. Untuk informasi umum, lihat Batas Databricks.
Lompat ke:
Batas file dan repositori
Azure Databricks tidak memberlakukan batasan ukuran repositori. Akan tetapi:
- Cabang kerja dibatasi hingga 1 gigabyte (GB).
- File yang lebih besar dari 10 MB tidak dapat dilihat di antarmuka pengguna Azure Databricks.
- File ruang kerja individual tunduk pada batas ukuran terpisah. Untuk detail selengkapnya, baca Batasan.
Databricks merekomendasikan bahwa dalam repositori:
- Jumlah total semua aset dan file ruang kerja tidak melebihi 20.000.
Untuk setiap operasi Git, penggunaan memori dibatasi hingga 2 GB, dan penulisan disk dibatasi hingga 4 GB. Karena batasnya adalah per-operasi, Anda mendapatkan kegagalan jika Anda mencoba mengkloning repositori Git yang berukuran 5 GB saat ini. Namun, jika Anda mengkloning repositori Git yang berukuran 3 GB dalam satu operasi dan kemudian menambahkan 2 GB ke dalamnya nanti, operasi penarikan berikutnya akan berhasil.
Anda mungkin menerima pesan kesalahan jika repositori Anda melebihi batas ini. Anda mungkin juga menerima kesalahan waktu habis saat mengkloning repositori, tetapi operasi mungkin selesai di latar belakang.
Untuk bekerja dengan repositori yang lebih besar dari batas ukuran, coba cek keluar jarang.
Jika Anda harus menulis file sementara yang tidak ingin Anda simpan setelah kluster dimatikan, menulis file sementara untuk $TEMPDIR
menghindari melebihi batas ukuran cabang dan menghasilkan performa yang lebih baik daripada menulis ke direktori kerja saat ini (CWD) jika CWD berada di sistem file ruang kerja. Untuk informasi selengkapnya, lihat Di mana saya harus menulis file sementara di Azure Databricks?.
Jumlah maksimum folder Git per ruang kerja
Anda dapat memiliki maksimum 2.000 folder Git per ruang kerja. Jika Anda memerlukan lebih banyak, hubungi dukungan Databricks.
Memulihkan file yang dihapus dari folder Git di ruang kerja Anda
Tindakan ruang kerja pada folder Git bervariasi dalam pemulihan file. Beberapa tindakan memungkinkan pemulihan melalui folder Sampah sementara yang lain tidak. File yang sebelumnya diterapkan dan didorong ke cabang jarak jauh dapat dipulihkan menggunakan riwayat penerapan Git untuk repositori Git jarak jauh. Tabel ini menguraikan perilaku dan pemulihan setiap tindakan:
Perbuatan | Apakah file dapat dipulihkan? |
---|---|
Menghapus file dengan browser ruang kerja | Ya, dari folder Sampah |
Buang file baru dengan dialog folder Git | Ya, dari folder Sampah |
Membuang file yang dimodifikasi dengan dialog folder Git | Tidak, file hilang |
reset (hard) untuk modifikasi file yang tidak dikomit |
Tidak, modifikasi file hilang |
reset (hard) untuk file yang belum dikomit, yang baru dibuat |
Tidak, modifikasi file hilang |
Beralih cabang dengan dialog folder Git | Ya, dari repositori Git jarak jauh |
Operasi Git lainnya (Penerapan & Pendorongan, dll.) dari dialog folder Git | Ya, dari repositori Git jarak jauh |
PATCH operasi yang diperbarui /repos/id dari Repos API |
Ya, dari repositori Git jarak jauh |
Dukungan Monorepo
Databricks merekomendasikan agar Anda tidak membuat folder Git yang didukung oleh monorepos, di mana monorepo
Jenis aset yang didukung di folder Git
Hanya jenis aset Azure Databricks tertentu yang didukung oleh folder Git. Jenis aset yang didukung dapat diserialisasikan, dikontrol versi, dan didorong ke repositori Git yang mendukung.
Saat ini, jenis aset yang didukung adalah:
Jenis Aset | Detail |
---|---|
File | File adalah data berseri, dan dapat menyertakan apa pun mulai dari pustaka hingga biner hingga kode ke gambar. Untuk informasi selengkapnya, baca Apa itu file ruang kerja? |
Notebook | Notebook khususnya adalah format file buku catatan yang didukung oleh Databricks. Notebook dianggap sebagai jenis aset Azure Databricks terpisah dari file karena tidak diserialisasikan. Folder Git menentukan buku catatan dengan ekstensi file (seperti .ipynb ) atau dengan ekstensi file yang dikombinasikan dengan penanda khusus dalam konten file (misalnya, # Databricks notebook source komentar di awal .py file sumber). |
Folder | Folder adalah struktur khusus Azure Databricks yang mewakili informasi berseri tentang pengelompokan file logis di Git. Seperti yang diharapkan, pengguna mengalami ini sebagai "folder" saat melihat folder Git Azure Databricks atau mengaksesnya dengan Azure Databricks CLI. |
Kueri (Pratinjau Umum) | Kueri Databricks SQL (DBSQL) dimungkinkan untuk disimpan sebagai notebook IPYNB (ekstensi: .dbquery.ipynb ). Dukungan Git untuk kueri DBSQL mengharuskan Anda mengaktifkan Editor SQL baru. Kueri yang dibuat dengan fitur Editor SQL baru dinonaktifkan dapat ditempatkan di folder Git tetapi tidak dapat diterapkan ke repositori jarak jauh. |
Jenis aset Azure Databricks yang saat ini tidak didukung di folder Git meliputi yang berikut ini:
- Peringatan
- Dasbor (termasuk dasbor warisan)
- Percobaan
- Ruang jin
Saat bekerja dengan aset Anda di Git, amati batasan berikut dalam penamaan file:
- Folder tidak boleh berisi buku catatan dengan nama yang sama dengan buku catatan, file, atau folder lain di repositori Git yang sama, meskipun ekstensi file berbeda. (Untuk notebook format sumber, ekstensinya adalah
.py
untuk python,.scala
untuk Scala,.sql
untuk SQL, dan.r
untuk R. Untuk notebook berformat IPYNB, ekstensinya adalah.ipynb
.) Misalnya, Anda tidak dapat menggunakan buku catatan format sumber bernamatest1.py
dan buku catatan IPYNB bernamatest1
di folder Git yang sama karena file buku catatan Python format sumber (test1.py
) akan diserialisasikan sebagaitest1
dan konflik akan terjadi. - Karakter
/
tidak didukung dalam nama file. Misalnya, Anda tidak dapat memiliki file bernamai/o.py
di folder Git Anda.
Jika Anda mencoba melakukan operasi Git pada file yang memiliki nama yang memiliki pola ini, Anda akan mendapatkan pesan "Kesalahan mengambil status Git". Jika Anda menerima kesalahan ini secara tiba-tiba, tinjau nama file aset di repositori Git Anda. Jika Anda menemukan file dengan nama yang memiliki pola yang bertentangan ini, ganti namanya dan coba operasi lagi.
Catatan
Anda dapat memindahkan aset yang tidak didukung yang ada ke dalam folder Git tetapi tidak dapat menerapkan perubahan apa pun yang dibuat pada aset tersebut ke repositori jarak jauh.
Format buku catatan
Untuk informasi selengkapnya tentang format buku catatan untuk folder Git, lihat format Buku Catatan .
Tanya Jawab Umum: Konfigurasi folder Git
Di mana konten repositori Azure Databricks disimpan?
Isi repositori untuk sementara dikloning ke disk di sarana kontrol. File buku catatan Azure Databricks disimpan dalam database sarana kontrol seperti buku catatan di ruang kerja utama. File non-buku catatan disimpan di disk hingga 30 hari.
Apakah folder Git mendukung server Git lokal atau yang dihost sendiri?
Folder Git Databricks mendukung GitHub Enterprise, Bitbucket Server, Azure DevOps Server, dan integrasi gitLab Yang dikelola sendiri, jika server dapat diakses internet. Untuk detail tentang mengintegrasikan folder Git dengan server Git lokal, baca Server Proksi Git untuk folder Git.
Untuk berintegrasi dengan Bitbucket Server, GitHub Enterprise Server, atau instans langganan yang dikelola sendiri GitLab yang tidak dapat diakses internet, hubungi tim akun Azure Databricks Anda.
Jenis aset Databricks apa yang didukung oleh folder Git?
Untuk detail tentang jenis aset yang didukung, baca Jenis aset yang didukung di folder Git.
Apakah folder Git mendukung .gitignore
file?
Ya. Jika Anda menambahkan file ke repositori Anda dan tidak ingin dilacak oleh Git, buat file .gitignore
atau gunakan yang dikloning dari repositori jarak jauh Anda dan tambahkan nama file, termasuk ekstensi.
.gitignore
hanya berfungsi untuk file yang belum dilacak oleh Git. Jika Anda menambahkan file yang sudah dilacak oleh Git ke file .gitignore
, file tersebut masih dilacak oleh Git.
Bisakah saya membuat folder tingkat atas yang bukan folder pengguna?
Ya, admin dapat membuat folder tingkat atas ke satu kedalaman. Folder Git tidak mendukung tingkat folder tambahan.
Apakah folder Git mendukung submodul Git?
Tidak. Anda dapat mengkloning repositori yang berisi submodul Git, tetapi submodul tidak dikloning.
Apakah Azure Data Factory (ADF) mendukung folder Git?
Ya.
Manajemen sumber
Mengapa dasbor buku catatan menghilang saat saya menarik atau memeriksa cabang lain?
Ini saat ini merupakan batasan karena file sumber buku catatan Azure Databricks tidak menyimpan informasi dasbor buku catatan.
Jika Anda ingin mempertahankan dasbor di repositori Git, ubah format buku catatan menjadi .ipynb
(format buku catatan Jupyter). Secara default, .ipynb
mendukung definisi dasbor dan visualisasi. Jika Anda ingin mempertahankan data grafik (poin data), Anda harus menerapkan buku catatan dengan output.
Untuk mempelajari tentang menerapkan .ipynb
output buku catatan, lihat Mengizinkan penerapan .ipynb
output buku catatan.
Apakah folder Git mendukung penggabungan cabang?
Ya. Anda juga dapat membuat permintaan pull dan menggabungkan melalui penyedia Git Anda.
Bisakah saya menghapus cabang dari repositori Azure Databricks?
Tidak. Untuk menghapus cabang, Anda harus bekerja di penyedia Git Anda.
Jika pustaka diinstal pada kluster, dan pustaka dengan nama yang sama disertakan dalam folder dalam repositori, pustaka mana yang diimpor?
Pustaka di repositori diimpor. Untuk informasi selengkapnya tentang prioritas pustaka di Python, lihat Prioritas pustaka Python.
Bisakah saya menarik versi terbaru repositori dari Git sebelum menjalankan pekerjaan tanpa bergantung pada alat orkestrasi eksternal?
Tidak. Biasanya Anda dapat mengintegrasikan ini sebagai pra-penerapan pada server Git sehingga setiap dorongan ke cabang (utama/prod) memperbarui repositori Produksi.
Dapatkah saya mengekspor repositori?
Anda dapat mengekspor buku catatan, folder, atau seluruh repositori. Anda tidak dapat mengekspor file non-buku catatan. Jika Anda mengekspor seluruh repositori, file non-buku catatan tidak disertakan. Untuk mengekspor, gunakan workspace export
perintah di Databricks CLI atau gunakan API Ruang Kerja.
Keamanan, autentikasi, dan token
Masalah dengan kebijakan akses bersyarah (CAP) untuk ID Microsoft Entra
Ketika Anda mencoba mengkloning repositori, Anda mungkin mendapatkan pesan kesalahan "akses ditolak" saat:
- Azure Databricks dikonfigurasi untuk menggunakan Azure DevOps dengan autentikasi ID Microsoft Entra.
- Anda telah mengaktifkan kebijakan akses bersuhidan di Azure DevOps dan kebijakan akses bersyar ID Microsoft Entra.
Untuk mengatasi hal ini, tambahkan pengecualian ke kebijakan akses bersyarkat (CAP) untuk alamat IP atau pengguna Azure Databricks.
Untuk informasi selengkapnya, lihat Kebijakan akses bersyarah.
Perbolehkan daftar dengan token Microsoft Azure ACTIVE Directory
Jika Anda menggunakan Azure Active Directory (AAD) untuk mengautentikasi dengan Azure DevOps, daftar izin default membatasi URL Git untuk:
dev.azure.com
visualstudio.com
Untuk informasi selengkapnya, lihat Mengizinkan daftar membatasi penggunaan repositori jarak jauh.
Apakah konten folder Git Azure Databricks dienkripsi?
Konten folder Azure Databricks Git dienkripsi oleh Azure Databricks menggunakan kunci default. Enkripsi menggunakan kunci yang dikelola pelanggan tidak didukung kecuali saat mengenkripsi kredensial Git Anda.
Bagaimana dan di mana token GitHub disimpan di Azure Databricks? Siapa yang akan memiliki akses dari Azure Databricks?
- Token autentikasi disimpan di sarana kontrol Azure Databricks, dan karyawan Azure Databricks hanya dapat memperoleh akses melalui informasi masuk sementara yang diaudit.
- Azure Databricks mencatat pembuatan dan penghapusan token ini, tetapi bukan penggunaannya. Azure Databricks memiliki pengelogan yang melacak operasi Git yang dapat digunakan untuk mengaudit penggunaan token oleh aplikasi Azure Databricks.
- GitHub enterprise mengaudit penggunaan token. Layanan Git lainnya mungkin juga memiliki audit server Git.
Apakah folder Git mendukung penandatanganan penerapan GPG?
Tidak.
Apakah folder Git mendukung SSH?
Tidak, hanya HTTPS
.
Kesalahan saat menyambungkan Azure Databricks ke repositori Azure DevOps dalam penyewaan yang berbeda
Saat mencoba menyambungkan ke DevOps dalam penyewaan terpisah, Anda mungkin menerima pesan Unable to parse credentials from Azure Active Directory account
. Jika proyek Azure DevOps berada dalam penyewaan MICROSOFT Entra ID yang berbeda dari Azure Databricks, Anda perlu menggunakan token akses dari Azure DevOps. Lihat Menyambungkan ke Azure DevOps menggunakan token DevOps.
CI/CD dan MLOps
Perubahan masuk menghapus status buku catatan
Operasi Git yang mengubah kode sumber notebook mengakibatkan hilangnya status buku catatan, termasuk output sel, komentar, riwayat versi, dan widget. Misalnya, git pull
dapat mengubah kode sumber buku catatan. Dalam hal ini, folder Databricks Git harus menimpa notebook yang ada untuk mengimpor perubahan.
git commit
dan push
atau membuat cabang baru tidak memengaruhi kode sumber buku catatan, sehingga status buku catatan dipertahankan dalam operasi ini.
Penting
Eksperimen MLflow tidak berfungsi di folder Git dengan DBR 14.x atau versi yang lebih rendah.
Apakah saya dapat membuat eksperimen MLflow dalam repositori?
Ada dua jenis eksperimen MLflow: ruang kerja dan buku catatan. Untuk detail tentang dua jenis eksperimen MLflow, lihat Mengatur eksekusi pelatihan dengan eksperimen MLflow.
Di folder Git, Anda dapat memanggil mlflow.set_experiment("/path/to/experiment")
eksperimen MLflow dari jenis dan log yang berjalan padanya, tetapi eksperimen tersebut dan eksekusi terkait tidak akan diperiksa ke kontrol sumber.
Eksperimen MLflow ruang kerja
Anda tidak dapat membuat eksperimen MLflow ruang kerja di folder Databricks Git (folder Git). Jika beberapa pengguna menggunakan folder Git terpisah untuk berkolaborasi pada kode ML yang sama, log MLflow berjalan ke eksperimen MLflow yang dibuat di folder ruang kerja biasa.
Eksperimen Notebook MLflow
Anda dapat membuat eksperimen notebook di folder Databricks Git. Jika Anda memeriksa buku catatan Anda ke kontrol sumber sebagai .ipynb
file, Anda bisa mencatat MLflow berjalan ke eksperimen MLflow yang dibuat dan terkait secara otomatis. Untuk detail selengkapnya, baca tentang membuat eksperimen notebook.
Mencegah kehilangan data dalam eksperimen MLflow
Eksperimen Notebook MLflow yang dibuat menggunakan Pekerjaan Databricks dengan kode sumber di repositori jarak jauh disimpan di lokasi penyimpanan sementara. Eksperimen ini bertahan pada awalnya setelah eksekusi alur kerja tetapi berisiko dihapus nanti selama penghapusan file terjadwal di penyimpanan sementara. Databricks merekomendasikan penggunaan eksperimen MLflow ruang kerja dengan Pekerjaan dan sumber Git jarak jauh.
Peringatan
Setiap kali Anda beralih ke cabang yang tidak berisi buku catatan, Anda berisiko kehilangan data eksperimen MLflow terkait. Kerugian ini menjadi permnanent jika cabang sebelumnya tidak diakses dalam waktu 30 hari.
Untuk memulihkan data eksperimen yang hilang sebelum 30 hari kedaluwarsa, ganti nama buku catatan kembali ke nama asli, buka buku catatan, klik ikon "eksperimen" di panel sisi kanan (ini juga secara efektif memanggil mlflow.get_experiment_by_name()
API), dan Anda akan dapat melihat eksperimen dan eksekusi yang dipulihkan. Setelah 30 hari, setiap eksperimen MLflow yatim piatu akan dihapus menyeluruh untuk memenuhi kebijakan kepatuhan GDPR.
Untuk mencegah situasi ini, Databricks menyarankan Anda untuk menghindari penggantian nama buku catatan di repos sama sekali, atau jika Anda mengganti nama buku catatan, klik ikon "eksperimen" di panel sisi kanan segera setelah mengganti nama buku catatan.
Apa yang terjadi jika pekerjaan notebook berjalan di ruang kerja saat operasi Git sedang berlangsung?
Kapan saja saat operasi Git sedang berlangsung, beberapa buku catatan dalam repositori mungkin telah diperbarui sementara yang lain belum. Hal ini dapat menyebabkan perilaku yang tidak dapat diterprediksi.
Misalnya, panggilan notebook A
notebook Z
menggunakan %run
perintah. Jika pekerjaan yang berjalan selama operasi Git memulai versi terbaru , notebook A
tetapi notebook Z
belum diperbarui, %run
perintah di notebook A mungkin memulai versi notebook Z
lama .
Selama operasi Git, status notebook tidak dapat diprediksi dan pekerjaan mungkin gagal atau berjalan notebook A
dan notebook Z
dari penerapan yang berbeda.
Untuk menghindari situasi ini, gunakan pekerjaan berbasis Git (di mana sumbernya adalah penyedia Git dan bukan jalur ruang kerja) sebagai gantinya. Untuk detail selengkapnya, baca Menggunakan Git dengan pekerjaan.
Sumber
Untuk detail tentang file ruang kerja Databricks, lihat Apa itu file ruang kerja?.