SETPROJECT menampilkan dan mengatur properti tingkat proyek di MaxCompute. Gunakan perintah ini untuk memeriksa semua parameter yang dapat dikonfigurasi atau memperbarui pengaturan proyek dan sesi, seperti sumber daya penjadwalan, perilaku SQL, kebijakan keamanan, dan tipe data.
Platform
Jalankan SETPROJECT pada klien MaxCompute (odpscmd) atau node ODPS SQL di DataWorks.
Catatan penggunaan
Proyek MaxCompute tidak sama dengan ruang kerja DataWorks. Untuk menemukan nama Proyek Anda, masuk ke Konsol MaxCompute dan periksa kolom Konsol MaxCompute Project Name pada tab Project management.
SETPROJECTtidak dapat membuat atau menghapus proyek. Untuk membuat proyek, lihat Create a MaxCompute project.
Lihat properti proyek
Menampilkan semua properti tingkat proyek beserta nilai saat ini.
Untuk properti tingkat sesi, gunakan perintah SHOW FLAGS. Lihat bagian "SHOW FLAGS" dalam SET operations.
Sintaks
setproject;Properties
Tabel berikut mencantumkan properti proyek umum.
Kolom Scope menunjukkan apakah properti hanya berlaku untuk sesi saat ini (Session) atau untuk seluruh proyek (Project). Properti dengan cakupan sesi hanya berlaku selama koneksi saat ini dan hilang ketika sesi berakhir. Perubahan dengan cakupan proyek berlaku secara global untuk semua sesi.
| Kategori | Cakupan | Parameter | Deskripsi | Nilai valid | Pernyataan yang terpengaruh |
|---|---|---|---|---|---|
| Ekosistem | Session | console.sql.result.instancetunnel | Mengaktifkan atau menonaktifkan InstanceTunnel. Lihat Usage notes untuk detail tentang perintah Tunnel. | True: diaktifkan. False: dinonaktifkan. | SELECT |
| Penjadwalan | Session | odps.stage.mapper.mem | Memori yang dialokasikan untuk setiap worker Map. | 256 MiB–12288 MiB. Default: 1024 MiB. | ALL |
| Penjadwalan | Session | odps.stage.reducer.mem | Memori yang dialokasikan untuk setiap worker Reduce. | 256 MiB–12288 MiB. Default: 1024 MiB. | ALL |
| Penjadwalan | Session | odps.stage.joiner.mem | Memori yang dialokasikan untuk setiap worker Join. | 256 MiB–12288 MiB. Default: 1024 MiB. | ALL |
| Penjadwalan | Session | odps.stage.mem | Total memori untuk semua worker dalam suatu job. Memiliki prioritas lebih rendah daripada odps.stage.mapper.mem, odps.stage.reducer.mem, dan odps.stage.joiner.mem. | 256 MiB–12288 MiB. Tidak ada nilai default. | ALL |
| Penjadwalan | Session | odps.stage.mapper.split.size | Ukuran data input per worker Map (ukuran split). Mengontrol jumlah worker pada tahap Map. Jika pernyataan SQL menggunakan LIMIT, jumlah worker konkuren dibatasi menjadi 1; hindari penggunaan LIMIT saat mengatur parameter ini. | Default: 256 MiB. | ALL |
| Penjadwalan | Session | odps.sql.split.size | Ukuran shard untuk pemrosesan paralel tingkat tabel. Contoh: {"table1": 1024, "table2": 512} | Satuan: MiB. | ALL |
| Penjadwalan | Session | odps.sql.split.row.count | Jumlah baris per shard untuk pemrosesan paralel tingkat tabel. Hanya berlaku untuk tabel internal non-transaksional dan non-terkluster. Contoh: {"table1": 100, "table2": 500} | Bilangan bulat positif. | ALL |
| Penjadwalan | Session | odps.sql.split.dop | Tingkat paralelisme untuk pemrosesan tingkat tabel. Hanya berlaku untuk tabel internal non-transaksional dan non-terkluster. Contoh: {"table1": 1, "table2": 5} | Bilangan bulat positif. | ALL |
| Penjadwalan | Session | odps.stage.reducer.num | Jumlah worker pada setiap tahap Reduce. Jika pernyataan SQL menggunakan LIMIT, jumlah worker konkuren dibatasi menjadi 1. | — | ALL |
| Penjadwalan | Session | odps.stage.joiner.num | Jumlah worker pada setiap tahap Join. Jika pernyataan SQL menggunakan LIMIT, jumlah worker konkuren dibatasi menjadi 1. | — | ALL |
| Penjadwalan | Session | odps.stage.num | Total jumlah worker konkuren dalam suatu job. Memiliki prioritas lebih rendah daripada odps.stage.mapper.split.size, odps.stage.reducer.num, dan odps.stage.joiner.num. Jika pernyataan SQL menggunakan LIMIT, jumlah worker konkuren dibatasi menjadi 1. | — | ALL |
| Penjadwalan | Project | odps.instance.priority.enable | Mengaktifkan prioritas job untuk proyek yang menggunakan sumber daya komputasi berlangganan. Lihat Job priority. Hanya pemilik proyek atau pengguna dengan role Super_Administrator yang dapat menjalankan perintah ini. | True: diaktifkan. False: dinonaktifkan. | ALL |
| SQL | Session | odps.sql.reshuffle.dynamicpt | Mengaktifkan partisi dinamis untuk mencegah terlalu banyak file kecil. Jika hanya sejumlah kecil partisi dinamis yang dihasilkan, atur nilai ini menjadi False untuk menghindari kesenjangan data. | True: diaktifkan. False: dinonaktifkan. | INSERT INTO, INSERT OVERWRITE |
| SQL | Session | odps.sql.udf.getjsonobj.new | Mengontrol apakah GET_JSON_OBJECT mempertahankan string asli dalam nilai kembalinya. Proyek yang dibuat pada atau setelah 21 Januari 2021 secara default mengembalikan string asli. Proyek yang lebih lama secara default mengembalikan karakter ter-reserve JSON sebagai karakter escape. Lihat String functions. | True: diaktifkan. False: dinonaktifkan. | UDF |
| SQL | Session | odps.sql.udf.jvm.memory | Memori heap maksimum Java Virtual Machine (JVM) untuk user-defined function (UDF). Tingkatkan nilai ini jika operasi sortir besar di memori menyebabkan error kehabisan memori (OOM), tetapi optimalkan kode UDF untuk mengatasi akar masalahnya. | 256 MiB–12288 MiB. Default: 1024 MiB. | UDF |
| SQL | Session | odps.function.timeout | Periode timeout untuk UDF. | 0s–3600s. Default: 600s. | UDF |
| SQL | Session | odps.sql.session.resources | Sumber daya yang dirujuk oleh user-defined type (UDT). Pisahkan beberapa sumber daya dengan koma. Lihat Overview. | Sumber daya yang diunggah. | UDT |
| SQL | Session | odps.sql.udt.display.tostring | Mengaktifkan mekanisme java.util.Objects.toString(...) pada Wrap untuk semua kolom output UDT. | True: diaktifkan. False: dinonaktifkan. | UDT |
| SQL | Session | odps.sql.session.java.imports | Paket Java yang dirujuk oleh UDT. Pisahkan beberapa paket dengan koma. Lihat Overview. | Paket Java yang diunggah. | UDT |
| SQL | Session | odps.sql.skewjoin | Mengaktifkan SKEWJOIN untuk mencegah masalah long tail. | True: diaktifkan. False: dinonaktifkan. | SELECT, JOIN |
| SQL | Session | odps.sql.skewinfo | Kunci dan nilai tempat SKEWJOIN beroperasi. Lihat Data skew tuning. | — | SELECT, JOIN |
| SQL | Session | odps.sql.udf.ppr.deterministic | Mengaktifkan pemangkasan partisi untuk UDF. Lihat WHERE clause. | True: diaktifkan. False: dinonaktifkan. | UDF |
| SQL | Session | odps.sql.udf.ppr.to.subquery | Mengabaikan error selama pengisian kembali hasil saat melakukan pemangkasan partisi. Lihat SELECT syntax. | True: diaktifkan. False: dinonaktifkan. | UDF |
| SQL | Session | odps.optimizer.enable.range.partial.repartitioning | Mengaktifkan fitur Shuffle Remove untuk tabel terkluster berbasis rentang. | True: diaktifkan. False: dinonaktifkan. | INSERT OVERWRITE, CREATE TABLE |
| SQL | Session | odps.optimizer.merge.partitioned.table | Ketika kueri menggunakan tabel partisi yang sama beberapa kali, menggabungkan pembacaan tabel untuk meminimalkan IO dan meningkatkan performa. | True: diaktifkan. False: dinonaktifkan. | SELECT |
| SQL | Session | odps.optimizer.skew.join.topk.num | Jumlah nilai kunci panas yang diambil oleh pengoptimal saat melakukan operasi agregat. Lihat SKEWJOIN HINT. | — | SKEWJOIN HINT |
| SQL | Session | odps.optimizer.stat.collect.auto | Mengaktifkan fitur Freeride, yang secara otomatis mengumpulkan statistik kolom. Lihat Optimizer. | True: diaktifkan. False: dinonaktifkan. | CREATE TABLE, INSERT INTO, INSERT OVERWRITE |
| SQL | Session | odps.optimizer.stat.collect.plan | Rencana pengumpulan yang menentukan statistik kolom mana yang akan dikumpulkan. Lihat Optimizer. | — | CREATE TABLE, INSERT INTO, INSERT OVERWRITE |
| SQL | Session | odps.sql.external.net.vpc | Mengaktifkan akses virtual private cloud (VPC) untuk tabel eksternal. Lihat Hologres foreign tables. | True: diaktifkan. False: dinonaktifkan. | CREATE TABLE |
| SQL | Session | odps.sql.groupby.position.alias | Mengizinkan konstanta integer dalam GROUP BY untuk merujuk posisi kolom dalam SELECT. | True: diaktifkan. False: dinonaktifkan. | SELECT, GROUP BY |
| SQL | Session | odps.sql.groupby.skewindata | Mengaktifkan fitur anti-skew untuk GROUP BY. | True: diaktifkan. False: dinonaktifkan. | GROUP BY |
| SQL | Session | odps.sql.orderby.position.alias | Mengizinkan konstanta integer dalam ORDER BY untuk merujuk posisi kolom dalam SELECT. | True: diaktifkan. False: dinonaktifkan. | ORDER BY, SELECT |
| SQL | Session | odps.sql.mapjoin.memory.max | Ukuran memori untuk tabel kecil yang dimuat ke memori selama MAPJOIN. Batas global total untuk semua tabel kecil dalam suatu task sama dengan std::min(8G, odps.sql.mapjoin.memory.max × jumlah tabel kecil). | 0 MiB–8192 MiB. | JOIN |
| SQL | Session | odps.sql.distributed.map.join.memory.max | Memori per instance HashTableBuilder selama MAPJOIN. Default: 2048 MiB. | 0 MiB–8192 MiB. | JOIN |
| SQL | Session | odps.sql.python.version | Versi Python yang digunakan saat mengeksekusi pernyataan SQL. | cp27, cp37 | UDTF, UDAF |
| SQL | Session | odps.sql.select.output.format | Mengontrol apakah klien MaxCompute menampilkan header kolom dalam hasil SELECT. Lihat MaxCompute client (odpscmd). | {"needHeader":false,"fieldDelim":""}: tanpa header. {"needHeader":true,"fieldDelim":""}: dengan header. | ALL |
| SQL | Session | odps.sql.unstructured.data.oss.use.https | Mengaktifkan HTTPS saat mengakses tabel eksternal di lapisan dasar. Lihat Create an OSS external table. | True: diaktifkan. False: dinonaktifkan. | ALL |
| SQL | Session | odps.sql.decimal.tostring.trimzero | Menghapus nol trailing setelah titik desimal untuk tipe DECIMAL. Default: True. | True: nol trailing dihapus. False: nol trailing dipertahankan. | CAST |
| SQL | Session | odps.sql.unstructured.tablestore.put.row | Memanggil operasi PutRow untuk menulis data ke tabel eksternal Tablestore. Lihat PutRow. | True: diaktifkan. False: dinonaktifkan. | ALL |
| SQL | Session | odps.sql.unstructured.external.max.dop | Konkurensi maksimum worker yang mengakses tabel eksternal. | Bilangan bulat positif. | Kueri dan penulisan tabel eksternal |
| SQL | Session/Project | odps.sql.unstructured.file.pattern.black.list | Mengabaikan file yang sesuai pola saat membaca tabel eksternal di Object Storage Service (OSS) atau Hadoop Distributed File System (HDFS). Gunakan ini untuk melewati file _SUCCESS yang ditulis oleh Spark. Contoh pada tingkat sesi: SET odps.sql.unstructured.file.pattern.black.list=.*_SUCCESS$; | .*_SUCCESS$ | Kueri tabel eksternal |
| SQL | Session | odps.meta.exttable.stats.onlinecollect | Mengaktifkan pengoptimal untuk mengumpulkan statistik pada tabel eksternal secara sementara selama eksekusi kueri. Ini membantu pengoptimal menemukan tabel kecil, menerapkan Hash Join, mengoptimalkan urutan join, dan mengurangi operasi shuffle. Default: False. | True: diaktifkan. False (default): dinonaktifkan. | Kueri tabel eksternal |
| SQL | Project | odps.sql.allow.fullscan | Mengaktifkan pemindaian tabel penuh pada proyek. Pemindaian tabel penuh mengonsumsi sumber daya signifikan dan mengurangi efisiensi pemrosesan. Nonaktifkan fitur ini di lingkungan produksi kecuali diperlukan. | True: diaktifkan. False: dinonaktifkan. | SELECT |
| SQL | Project | odps.table.lifecycle | Menetapkan persyaratan siklus hidup untuk tabel yang dibuat dalam proyek. | Optional: klausa LIFECYCLE bersifat opsional. Mandatory: klausa LIFECYCLE wajib. Inherit: tabel tanpa siklus hidup eksplisit mewarisi nilai dari odps.table.lifecycle.value. | CREATE TABLE |
| SQL | Project | odps.table.lifecycle.value | Siklus hidup default untuk tabel, dalam satuan hari. Berlaku ketika odps.table.lifecycle diatur ke Inherit. | 1–37231. Default: 37231. | CREATE TABLE |
| SQL | Project | READ_TABLE_MAX_ROW | Jumlah maksimum baris yang dikembalikan oleh pernyataan SELECT. | 1–10000. Default: 10000. | SELECT |
| SQL | Project | odps.output.field.formatter | Aturan penyamaran data dinamis yang diterapkan pada hasil kueri SQL. Lihat Dynamic data masking. | Aturan penyamaran kustom. | SELECT |
| SQL | Project | odps.sql.acid.table.enable | Mengaktifkan mekanisme atomicity, consistency, isolation, dan durability (ACID). Lihat ACID semantics. | True: diaktifkan. False: dinonaktifkan. | ALL |
| SQL | Session/Project | odps.io.oss.use.vipserver | Mengarahkan akses OSS melalui VIPServer alih-alih Server Load Balancer (SLB). VIPServer mendukung throughput lebih tinggi dengan kontrol aliran, tetapi dapat menyebabkan kegagalan kueri. Evaluasi pertukaran stabilitas sebelum mengaktifkan. Default: False. | True: diaktifkan. False (default): dinonaktifkan. | Kueri tabel eksternal |
| SQL | Session/Project | odps.sql.executionengine.enable.string.to.date.full.format | Mengaktifkan konversi string tanggal yang mencakup bagian jam, menit, dan detik. Default: False. | True: diaktifkan. False: dinonaktifkan. | CAST |
| SQL | Session/Project | odps.sql.executionengine.enable.rand.time.seed | Mengontrol seed yang digunakan oleh fungsi RAND. False (default): menggunakan ID instans sebagai seed, memastikan idempotensi. True: menggunakan waktu sistem, sehingga hasilnya tidak idempoten dan bervariasi antar pemanggilan. | True: diaktifkan. False: dinonaktifkan. | RAND |
| SQL | Session/Project | odps.sql.type.system.odps2 | Mengaktifkan edisi tipe data MaxCompute V2.0. Lihat MaxCompute V2.0 data type edition. | True: diaktifkan. False: dinonaktifkan. | Fungsi tambahan MaxCompute V2.0 |
| SQL | Session/Project | odps.sql.type.json.enable | Mengaktifkan tipe data JSON. Lihat Instructions for using JSON data types in MaxCompute. | True: diaktifkan. False: dinonaktifkan. | Tipe data JSON MaxCompute |
| SQL | Session/Project | odps.sql.hive.compatible | Mengaktifkan edisi tipe data yang kompatibel dengan Hive. Diperlukan untuk sintaks Hive seperti inputRecordReader, outputRecordReader, dan Serde. Lihat Hive-compatible data type edition. | True: diaktifkan. False: dinonaktifkan. | ALL |
| SQL | Session/Project | odps.sql.metering.value.max | Batas atas sumber daya yang dikonsumsi oleh satu pernyataan SQL. Lihat Consumption control. | — | ALL |
| SQL | Session/Project | odps.sql.timezone | Zona waktu proyek MaxCompute. Lihat Time zone configuration operations. | — | ALL |
| SQL | Session/Project | odps.sql.unstructured.oss.commit.mode | Mengaktifkan unggah multi-bagian OSS saat menulis data ke tabel eksternal OSS. Lihat Write data to OSS. | True: diaktifkan. False: dinonaktifkan. | INSERT OVERWRITE |
| SQL | Session/Project | odps.sql.groupby.orderby.position.alias | Mengizinkan konstanta integer dalam GROUP BY dan ORDER BY untuk merujuk posisi kolom dalam SELECT. Mengatur nilai ini menjadi True untuk proyek yang sudah ada dapat merusak logika parsing data yang ada. Lakukan pengujian menyeluruh sebelum mengaktifkan pada tingkat proyek. | True: diaktifkan. False: dinonaktifkan. | GROUP BY, ORDER BY, SELECT |
| SQL | Session/Project | odps.ext.oss.orc.native | Menggunakan reader Optimized Row Columnar (ORC) native untuk membaca data tabel. | True: diaktifkan. False: dinonaktifkan. | SELECT |
| SQL | Session | odps.sql.job.max.time.hours | Durasi maksimum untuk satu job, dalam satuan jam. | 1–72. Default: 24. | Job SQL |
| Billing | Session | odps.task.quota.preference.tag | Grup kuota yang ditetapkan untuk suatu job. Job dijadwalkan ke grup kuota yang tag-nya sesuai. Jika tidak ditemukan kecocokan, grup kuota default proyek digunakan. Hanya berlaku untuk job SQL. Contoh: set odps.task.quota.preference.tag = payasyougo; Nama tag dapat berisi huruf, angka, dan garis bawah. | Nama tag grup kuota yang dikonfigurasi di Manajemen MaxCompute. Anda hanya dapat mengonfigurasi nama tag untuk grup kuota di wilayah tempat proyek job Anda berada. Nama tag dapat berisi huruf, angka, dan garis bawah (_). | ALL |
| Billing | Session | odps.task.wlm.quota | Nama kuota yang digunakan untuk menjalankan job dalam suatu sesi. | — | ALL |
| Keamanan dan izin | Project | odps.forbid.fetch.result.by.bearertoken | Mengontrol apakah hasil job muncul di tab Result LogView. | True: hasil disembunyikan. False: hasil ditampilkan. | ALL |
| Keamanan dan izin | Project | LabelSecurity | Mengaktifkan kontrol akses berbasis label (LabelSecurity). Lihat Label-based access control. | True: diaktifkan. False: dinonaktifkan. | ALL |
| Keamanan dan izin | Project | CheckPermissionUsingACL | Mengaktifkan kontrol akses berbasis ACL. Lihat MaxCompute permissions. | True: diaktifkan. False: dinonaktifkan. | ALL |
| Keamanan dan izin | Project | CheckPermissionUsingPolicy | Mengaktifkan kontrol akses berbasis kebijakan. Lihat Policy-based access control. | True: diaktifkan. False: dinonaktifkan. | ALL |
| Keamanan dan izin | Project | ObjectCreatorHasAccessPermission | Memberikan akses kepada pembuat objek terhadap objek yang mereka buat. | True: diaktifkan. False: dinonaktifkan. | ALL |
| Keamanan dan izin | Project | ObjectCreatorHasGrantPermission | Memberikan kemampuan kepada pembuat objek untuk memberikan otorisasi kepada pengguna lain agar dapat mengakses objek yang mereka buat. | True: diaktifkan. False: dinonaktifkan. | ALL |
| Keamanan dan izin | Project | ProjectProtection | Mengaktifkan perlindungan data proyek. Lihat Project data protection. | True: diaktifkan. False: dinonaktifkan. | ALL |
| Keamanan dan izin | Project | odps.output.field.formatter | Aturan penyamaran data dinamis yang diterapkan pada hasil kueri SQL. Lihat Dynamic data masking. | Aturan penyamaran kustom. | SELECT |
| Keamanan dan izin | Project | odps.security.ip.whitelist | Daftar putih alamat IP untuk mengakses proyek melalui jaringan interkoneksi produk cloud. Pisahkan alamat IP dengan koma. Lihat Manage IP address whitelists. | Alamat IP yang dipisahkan koma. | ALL |
| Keamanan dan izin | Project | odps.security.vpc.whitelist | Daftar putih alamat IP untuk mengakses proyek melalui VPC tertentu. Lihat Manage IP address whitelists. | RegionID_VPCID[IP Address] | ALL |
| Tipe data | Project | odps.sql.decimal.odps2 | Mengaktifkan DECIMAL(precision,scale) dalam edisi tipe data MaxCompute V2.0. Lihat MaxCompute V2.0 data type edition. | True: diaktifkan. False: dinonaktifkan. | ALL |
| Penyimpanan data | Project | odps.timemachine.retention.days | Periode retensi data backup, dalam satuan hari. Lihat Backup and restoration. | 0–30. Default: 1. | ALL |
| Metadata | Project | odps.schema.evolution.enable | Mengaktifkan evolusi skema. Default: False. | True: diaktifkan. False (default): dinonaktifkan. | Evolusi skema |
Atur properti proyek
Mengatur properti tingkat proyek. Perubahan berlaku dalam waktu 5 menit; periksa hasil setelah 5 menit.
Untuk mengatur properti tingkat sesi, gunakan pernyataan SET. Lihat bagian "SET" dalam SET operations.
Izin
Hanya pemilik proyek atau pengguna yang ditetapkan sebagai role Super_Administrator atau Admin tingkat proyek yang dapat mengatur properti tingkat proyek. Lihat Assign a built-in administrator role to a user.
Sintaks
setproject <KEY>=<VALUE>;Parameter
| Parameter | Deskripsi |
|---|---|
KEY | Nama properti. |
VALUE | Nilai properti. Untuk nilai valid, lihat View project properties. |
Contoh
Aktifkan pemindaian tabel penuh untuk suatu proyek:
setproject odps.sql.allow.fullscan=true;Langkah berikutnya
ADD ACCOUNTPROVIDER: Menambahkan sistem akun RAM untuk suatu proyek.
USE: Beralih ke proyek tertentu yang memiliki izin akses.
LIST ACCOUNTPROVIDERS: Menampilkan daftar sistem akun yang didukung oleh suatu proyek.
REMOVE ACCOUNTPROVIDER: Menghapus sistem akun RAM dari suatu proyek.