Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Important
Fitur ini ada di Beta. Admin ruang kerja dapat mengontrol akses ke fitur ini dari halaman Pratinjau . Lihat Kelola Pratinjau Azure Databricks.
Tipe menyimpan FILE referensi yang diatur ke file tidak terstruktur, dengan metadata seperti path dan ukuran. Gunakan FILE kolom di Unity Catalog untuk menyimpan dokumen, gambar, dan audio bersama data terstruktur.
Untuk referensi tipe, lihat FILE tipe.
Diagram berikut menunjukkan kolom bernama FILEvideo yang merujuk klip mengemudi bersama kolom terstruktur seperti rute, deskripsi adegan, dan label bahaya:
Metadata dan penyimpanan FILE
Untuk setiap baris, tipe menyimpan FILE metadata dan tautan yang diatur ke file yang sedang disimpan. Sebuah FILE nilai mencakup uribidang , size, content_type, dan checksum metadata. Kueri metadata tidak memerlukan pembacaan file penuh, sehingga meningkatkan kinerja kueri.
Anda dapat meneruskan FILE nilai ke fungsi AI, seperti ai_parse_document fungsi, dan ke fungsi yang didefinisikan pengguna (UDF).
Diagram berikut menunjukkan contoh kolom terkelola FILE , berisi metadata jalur dan ukuran serta referensi ke file yang disimpan:
Mengapa menggunakan FILE daripada BINARY atau STRING
Tabel berikut merinci tantangan saat menangani file besar yang tidak terstruktur dengan BINARY atau STRING tipe:
| Jenis kolom | Description | Diagram |
|---|---|---|
BINARY |
Mematerialisasi objek penuh untuk setiap pembacaan, bahkan ketika Anda hanya memerlukan metadata seperti ukuran file atau jalur. Hal ini menghasilkan perhitungan yang tidak perlu dan kueri yang lambat. |
|
STRING |
Menyimpan jalur file tanpa metadata, seperti ukuran atau informasi versi, dan tanpa tautan yang diatur antara tabel dan file. Jika beban kerja lain menghapus file, tabel tersebut memiliki informasi yang sudah tidak relevan. Jika Anda menghapus baris tabel, file yang direferensikan tetap berada di penyimpanan sampai Anda menghapusnya secara manual. |
|
Checksum
Bidang ini checksum adalah token integritas untuk byte file, berbentuk <prefix>:<digest>. Gunakan untuk membandingkan file atau memverifikasi bahwa file tidak berubah. Pembaca mengabaikan checksum dengan awalan yang tidak dikenali.
Checksum tidak selalu tersedia.
to_file
fungsi, create_file fungsi, dan copy_file fungsi mengisi checksum ketika penyimpanan objek mengembalikan .ETAG
list_files Fungsi bernilai tabel dan read_files fungsi bernilai tabel tidak mengisi checksum.
Bidang ini checksum menggunakan salah satu awalan berikut:
| Awalan | Pengkodean digest | Description |
|---|---|---|
ETAG |
Opaque | eTag penyimpanan objek untuk seluruh file. Disediakan secara verbatim oleh toko, hanya digunakan untuk perbandingan kesetaraan, dan tidak dapat dihitung ulang. |
MD5 |
Heksagon huruf kecil | Ringkasan MD5 (RFC 1321), 32 karakter hex. |
CRC32 |
Heksagon huruf kecil | Checksum CRC32 (RFC 2083), 8 karakter hex. |
CRC32C |
Heksagon huruf kecil | Checksum CRC32C (RFC 3385), 8 karakter heksadesimal. |
SHA-256 |
Heksagon huruf kecil | Ringkasan SHA-256 (RFC 6234), 64 karakter hex. |
Misalnya, checksum MD5 terlihat seperti MD5:d41d8cd98f00b204e9800998ecf8427e, dan eTag store-objek terlihat seperti ETAG:"686897696a7c876b7e", termasuk tanda kutip ganda di sekitarnya yang dikembalikan oleh object store.
Pilih antara FILE dan BINARY
Tabel berikut membandingkan opsi untuk bekerja dengan file tidak terstruktur:
| Jenis kolom | Values | Skenario penggunaan |
|---|---|---|
FILE |
Referensi yang diatur ke sebuah file, ditambah metadata (uri, size, content_type, checksum). |
Digunakan untuk mengelola dan memproses file tidak terstruktur bersama data terstruktur, serta meneruskan file ke fungsi bawaan dan AI. |
BINARY |
Byte mentah dari sebuah file, inline dalam kolom. | Gunakan untuk objek kecil (hingga 64 KB secara default) yang disimpan langsung di file data. Ini berguna ketika Anda membutuhkan overhead metadata rendah dan manajemen file yang disederhanakan. Misalnya, gunakan ini untuk menyimpan thumbnail secara sejajar dengan data baris. |
FILE EKSTERNAL dan FILE DIKELOLA
Tipe ini FILE mendukung dua pendekatan untuk mengelola file:
-
FILE EXTERNALkolom merujuk pada file yang sudah ada dalam volume Unity Catalog. File tersebut diamankan dengan izin volume Unity Catalog, tetapi siklus hidupnya tidak dikelola oleh Unity Catalog, dan file tersebut tidak disalin. Gunakan pendekatan ini saat Anda perlu mereferensikan file tanpa memindahkan data atau mengganggu alat yang membaca dari volume yang sudah ada. -
FILE MANAGEDKolom menyalin file ke penyimpanan terkelola. Aturdatabricks.filespace-previewproperti tabel ke jalur volume terkelola untuk digunakan Unity Catalog sebagai penyimpanan. Gunakan pendekatan ini ketika Anda ingin izin yang disederhanakan yang dikelola melalui tabel untuk beban kerja yang hanya mengakses file melalui tabel, seperti pelatihan ML atau generasi yang ditambah dengan pengambilan (RAG). Untuk pola intake, lihat Ingest file sebagai tipe FILE.
Untuk kueri, tidak ada perbedaan antara file eksternal dan file yang dikelola.
Diagram berikut menunjukkan bagaimana tipe menghubungkan FILE kode Anda ke file di penyimpanan objek cloud:
FILE EXTERNAL
FILE EXTERNAL kolom adalah referensi ke file yang sudah ada di volume Unity Catalog.
Jika Anda memiliki hak istimewa yang diperlukan pada volume, Anda dapat memperbarui atau menghapus file-file tersebut. Databricks merekomendasikan Anda menggunakan file yang tidak dapat diubah. Table grant menampilkan metadata file, tetapi membaca byte file juga memerlukan READ VOLUME hak istimewa pada volume dasarnya.
File eksternal memetakan setiap baris tabel ke file pada jalur yang sudah ada dalam volume Unity Catalog:
FILE EXTERNAL contoh
Untuk membuat tabel dengan kolom FILE EXTERNAL :
CREATE TABLE documents (id BIGINT, file FILE EXTERNAL);
Untuk menambahkan FILE EXTERNAL kolom ke tabel yang sudah ada:
ALTER TABLE documents ADD COLUMN file FILE EXTERNAL;
Untuk membuat dan mengisi tabel dari volume, menetapkan ID unik untuk setiap file:
CREATE TABLE documents AS
SELECT monotonically_increasing_id() AS id, file
FROM list_files('/Volumes/samples/sec/contracts/');
FILE MANAGED
FILE MANAGED kolom menyimpan salinan file dalam sebuah FileSpace, volume Unity Catalog yang Anda deklarasikan untuk tabel tersebut digunakan sebagai penyimpanan terkelola. Siklus hidupnya terikat pada tabel yang merujuk pada mereka.
Perilaku berikut berlaku untuk FILE MANAGED:
- Mendeklarasikan memerlukan
FileSpacedatabricks.filespace-previewproperti tabel. - Membaca atau menulis file yang dikelola memerlukan akses ke tabel dan volume yang mendukung
FileSpace. - Pengumpulan sampah otomatis untuk file tanpa referensi tidak didukung.
File tidak terstruktur yang disimpan di sumber eksternal seperti SharePoint, Google Drive, OneDrive, dan SFTP harus dimasukkan sebagai file yang dikelola sebelum Anda dapat menggunakannya dengan fungsi seperti ai_parse_document fungsi danfungsi yang ditentukan pengguna (UDF). Untuk pola intake, lihat Ingest file sebagai tipe FILE.
Untuk menggunakan file terkelola, buat tabel dengan FILE MANAGED kolom dan deklarasikan volume sebagai dengan FileSpace mengatur databricks.filespace-preview properti tabel ke jalur volume:
'databricks.filespace-preview' = '/Volumes/<catalog>/<schema>/<volume_name>/<optional_path>'
Untuk contoh lengkap, lihat contoh berikut FILE MANAGED . Siklus hidup file dalam a FileSpace terikat pada baris yang mereferensikannya. Menghapus baris tersebut membuat file memenuhi syarat untuk pengumpulan sampah.
FILE MANAGED contoh
Untuk membuat tabel dengan kolom FILE MANAGED :
CREATE TABLE reports (id BIGINT, file FILE MANAGED)
TBLPROPERTIES ('databricks.filespace-preview' = '/Volumes/my_catalog/my_schema/my_managed_volume/');
Untuk menambahkan FILE MANAGED kolom ke tabel yang sudah ada, atur databricks.filespace-preview properti tabel sebelum Anda menambahkan kolom, seperti dalam kode berikut:
ALTER TABLE reports SET TBLPROPERTIES ('databricks.filespace-preview' = '/Volumes/my_catalog/my_schema/my_managed_volume/');
ALTER TABLE reports ADD COLUMN attachment FILE MANAGED;
Menambahkan FILE MANAGED kolom ke tabel yang tidak FileSpace memiliki gagal.
Perbandingan tata kelola dan siklus hidup
Tabel berikut membandingkan bagaimana FILE EXTERNAL dan FILE MANAGED mengatur akses file serta menangani siklus hidup file:
| Tipe Kolom | FILE EXTERNAL |
FILE MANAGED |
|---|---|---|
| Kontrol akses file | Diatur oleh izin volume, seperti READ VOLUME. |
Diatur oleh izin tabel dan volume, seperti SELECT pada tabel dan READ VOLUME volume. |
| Siklus hidup dan pengumpulan sampah | Anda mengelola file sendiri. Menghapus baris tabel tidak memengaruhi file dasar di volume tersebut. | File terikat pada baris yang merujuknya. Menghapus baris tersebut membuat file memenuhi syarat untuk pengumpulan sampah. Pengumpulan sampah otomatis tidak didukung. |
Kasus penggunaan tipe FILE
Baik tipe eksternal maupun terkelola FILE menangani tantangan berikut untuk kasus penggunaan data tidak terstruktur:
| Tantangan | Tipe yang didukung FILE |
Benefits |
|---|---|---|
File terlalu besar untuk disimpan secara inline sebagai BINARY |
FILE MANAGED atau FILE EXTERNAL |
Sebuah FILE kolom menyimpan referensi, sehingga file hanya dibaca ketika fungsi AI atau UDF memprosesnya. Ini menghindari materialisasi objek besar secara inline di dalam tabel. |
| Siklus hidup dan tata kelola yang terputus antara sistem file dan tabel | FILE MANAGED |
Azure Databricks mengaitkan siklus hidup setiap file dengan tabel, sehingga menghapus baris membuat file tersebut memenuhi syarat untuk dibersihkan, bukan meninggalkan file yatim piatu di penyimpanan. |
| Beban kerja bersamaan yang mengharuskan file tetap di lokasi yang sama | FILE EXTERNAL |
File tetap berada di jalur volume yang ada, tidak terpengaruh oleh siklus hidup tabel, sehingga alat lain yang membaca file yang sama tidak terganggu. |