All Products
Search
Document Center

MaxCompute:Operasi External Volume

Last Updated:Mar 27, 2026

External volume adalah solusi penyimpanan untuk data tidak terstruktur dan sistem file terdistribusi yang disediakan oleh MaxCompute. Solusi ini memetakan direktori OSS ke proyek MaxCompute, sehingga Anda dapat langsung melakukan kueri dan memproses file yang disimpan di Object Storage Service (OSS) tanpa perlu mengimpor data ke dalam tabel MaxCompute, mengurangi redundansi data dan overhead transmisi.

Operasi umum

Operasi Deskripsi Yang dapat melaksanakan
Buat external volume Membuat external volume dalam proyek Pemilik external volume; pemilik proyek; pengguna dengan role Super_Administrator atau Admin
Daftar external volume dan tampilkan struktur direktori Menampilkan daftar semua external volume atau menampilkan struktur direktori dari volume tertentu
Hapus external volume Menghapus external volume

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Klien MaxCompute (odpscmd) versi V0.43.0 atau lebih baru. Untuk petunjuk instalasi, lihat MaxCompute client (odpscmd).

    Untuk menjalankan perintah di halaman DataStudio atau halaman SQL Query pada Konsol DataWorks, klien MaxCompute terintegrasi harus berupa versi V0.43.2 atau lebih baru. Jalankan Show version; untuk memeriksa versi. Untuk informasi lebih lanjut, lihat Gunakan MaxCompute di DataWorks.
  • SDK for Java versi V0.43.0 atau lebih baru, jika Anda menggunakan Java SDK.

  • Akun Alibaba Cloud atau pengguna RAM dengan izin akses ke OSS. Untuk langkah-langkah otorisasi, lihat Otorisasi STS untuk OSS.

Buat external volume

Sintaks

vfs -create <volume_name>
    -storage_provider oss
    -url <oss://oss_endpoint/bucket_name/directory_name>
    [-acd <true|false>]
    -role_arn <arn:aliyun:xxx/aliyunodpsdefaultrole>

Parameter yang diapit tanda [ ] bersifat opsional.

Parameter Wajib Deskripsi
volume_name Ya Nama external volume yang akan dibuat.
storage_provider Ya Penyedia penyimpanan. Tetapkan ke oss. OSS adalah satu-satunya penyedia yang didukung.
url Ya Direktori OSS tempat file data disimpan. Format: oss://<oss_endpoint>/<bucket_name>/<directory_name>. Nama bucket dan nama direktori tingkat kedua wajib dicantumkan. Lihat catatan di bawah mengenai persyaratan endpoint.
acd Tidak Apakah direktori OSS akan dibuat otomatis jika belum ada. Nilai default: false. Lihat catatan di bawah untuk detail perilaku.
role_arn Ya Alibaba Cloud Resource Name (ARN) dari RAM role yang memiliki izin akses ke OSS. Untuk mendapatkan ARN, lihat Gunakan kredensial temporary yang disediakan oleh STS untuk mengakses OSS.

Catatan mengenai parameter `url`:

  • Gunakan Titik akhir internal OSS untuk menghindari biaya tambahan akibat lalu lintas internet—misalnya, oss://oss-cn-beijing-internal.aliyuncs.com/my-bucket/my-dir. Untuk daftar lengkap Titik akhir internal, lihat Wilayah dan Titik akhir.

  • Deploy bucket OSS di wilayah yang sama dengan proyek MaxCompute Anda untuk menghindari masalah konektivitas lintas wilayah.

Catatan mengenai parameter `acd`:

  • false (default): Jika direktori yang ditentukan tidak ada, perintah akan gagal dengan error.

  • true: Jika direktori tidak ada, MaxCompute secara otomatis membuatnya menggunakan izin yang diberikan melalui role_arn. Jika direktori sudah ada, MaxCompute langsung menggunakannya.

Penting

Jika acd diatur ke true dan direktori dibuat secara otomatis, MaxCompute tidak akan menghapus direktori tersebut meskipun pembuatan external volume berikutnya gagal.

Setelah external volume dibuat, path-nya mengikuti format odps://<project_name>/<volume_name> dan dapat digunakan oleh engine Spark serta tugas MapReduce.

Contoh

Buat external volume bernama test_ext_l:

vfs -create test_ext_l -storage_provider oss -url oss://oss-cn-hangzhou-internal.aliyuncs.com/test/ex_volume/ -role_arn acs:ram::xxxxxxx:role/aliyunodpsdefaultrole;

Daftar external volume dan tampilkan struktur direktori

Sintaks

-- Daftar semua external volume dalam proyek
vfs -ls /;

-- Tampilkan struktur direktori dari external volume tertentu
vfs -ls [-R] /<volume_name>;
Parameter Wajib Deskripsi
volume_name Ya Nama external volume.
-R Tidak Menampilkan subdirektori secara rekursif.

Contoh

Daftar semua volume eksternal:

vfs -ls /;

Output yang diharapkan:

Found 2 items
drwxrwxrwx - 0 2023-03-11 12:06 /test_ext_l -> oss://oss-cn-shanghai-internal.aliyuncs.com/test/ex_volume
drwxrwxrwx - 0 2023-03-21 07:33 /myfirst_volume4 -> oss://oss-cn-shanghai-internal.aliyuncs.com/paristech/data
External volume yang tidak memiliki izin akses tidak akan ditampilkan dalam output. Untuk memberikan akses kepada pengguna, jalankan perintah berikut. Izin yang tersedia adalah Read, Write, dan CreateVolume.
grant Read on volume myfirst_volume4 to RAM$xxxxxx:dev01;

Tampilkan struktur direktori dari test_ext_l:

vfs -ls -R /test_ext_l;

Output yang diharapkan:

drwxrwxrwx - 0 2023-03-27 07:31 /test_ext_l/test -> oss://oss-cn-hangzhou-internal.aliyuncs.com/test/ex_volume/test

Hapus external volume

Sintaks

-- Sintaks 1
vfs -rm -r /<volume_name>;

-- Sintaks 2
vfs -rmv /<volume_name>;
Parameter Wajib Deskripsi
volume_name Ya Nama external volume yang akan dihapus.

Contoh

Hapus external volume bernama test_ext_l:

vfs -rm -r /test_ext_l;

Langkah berikutnya