Client lokal MaxCompute (odpscmd) menyediakan antarmuka baris perintah untuk operasi yang efisien di mesin lokal Anda. Gunakan client ini untuk menjalankan perintah dan mengelola proyek MaxCompute. Topik ini menjelaskan cara mengunduh, menginstal, mengonfigurasi, menjalankan, serta menggunakan client tersebut.
Lingkup
Perangkat Anda harus telah menginstal Java 8 atau versi yang lebih baru.
Kompatibilitas versi
Client MaxCompute v0.28.0 dan versi selanjutnya mendukung JDK 1.9. Versi sebelumnya hanya mendukung JDK 1.8. Setelah menjalankan client MaxCompute, periksa nomor versi di antarmuka baris perintah. Jalankan client MaxCompute.
Format output client tidak kompatibel ke depan (forward-compatible). Sintaks dan perilaku perintah dapat berbeda antarversi. Jangan mengurai output client untuk otomatisasi.
Untuk versi client lainnya, lihat aliyun-odps-console.
Format encoding
Client menggunakan encoding UTF-8 secara default. Jika lingkungan lokal Anda menggunakan encoding berbeda, karakter Tionghoa dalam hasil kueri atau file yang diunggah mungkin muncul sebagai teks rusak (garbled). Hal ini dapat terjadi saat mengkueri tabel MaxCompute atau mengunggah file data lokal menggunakan perintah Tunnel.
Harga
Menghubungkan ke proyek MaxCompute menggunakan client gratis. Namun, operasi yang Anda jalankan melalui client tersebut dapat dikenai biaya MaxCompute. Misalnya, mengirimkan kueri SQL atau perintah write akan mengonsumsi sumber daya komputasi. Menulis data juga menggunakan ruang penyimpanan. Anda akan dikenai biaya untuk komputasi dan penyimpanan. Untuk detailnya, lihat Item dan metode penagihan.
Instal dan konfigurasikan client MaxCompute
Mulai dari v0.27.0, client mendukung tipe data MaxCompute V2.0 yang baru. Kami merekomendasikan penggunaan tipe data baru ini. Untuk daftar tipe data yang didukung, lihat Tipe data MaxCompute V2.0.
Ikuti langkah-langkah berikut:
Unduh paket client MaxCompute (GitHub).
CatatanBuka halaman rilis client melalui tautan di atas. Unduh paket client MaxCompute terbaru (odpscmd_public.zip).
Jika tautan di atas gagal, coba unduh paket client MaxCompute (OSS). Untuk masalah akses GitHub, cari solusinya di mesin pencari.
Ekstrak paket yang telah diunduh. Anda akan mendapatkan folder bin, conf, lib, dan plugins.
Buka folder conf dan konfigurasikan file odps_config.ini.
File odps_config.ini menggunakan simbol hash (#) untuk komentar. Tabel berikut menjelaskan parameter-parameternya.
Parameter
Wajib
Deskripsi
Contoh
project_name
Ya
Nama proyek MaxCompute yang ingin Anda akses.
Jika Anda membuat ruang kerja dalam mode standar, pastikan untuk membedakan antara nama proyek produksi dan pengembangan (_dev) saat mengonfigurasi project_name. Lihat Perbedaan antara mode ruang kerja.
Login ke Konsol MaxCompute, lalu pilih wilayah di pojok kiri atas.
Pada panel navigasi di sebelah kiri, pilih .
Pada halaman Projects, temukan nama proyek MaxCompute Anda.
doc_test_dev
access_id
Ya
ID AccessKey Akun Alibaba Cloud atau Pengguna RAM Anda. Buka halaman AccessKey management untuk mendapatkan ID AccessKey Anda.
None
access_key
Ya
Rahasia AccessKey yang sesuai dengan ID AccessKey Anda.
None
end_point
Ya
Titik akhir untuk layanan MaxCompute.
Atur berdasarkan wilayah dan jenis jaringan yang Anda pilih saat membuat proyek MaxCompute. Untuk daftar titik akhir berdasarkan wilayah dan jaringan, lihat Endpoint.
PentingTitik akhir ini digunakan untuk layanan MaxCompute. Gunakan titik akhir Tunnel untuk layanan MaxCompute Tunnel. Masukkan titik akhir MaxCompute di sini.
Titik akhir yang salah menyebabkan error koneksi. Periksa kembali entri Anda.
http://service.cn-hangzhou.maxcompute.aliyun.com/api
log_view_host
Tidak
URL LogView. Kami merekomendasikan pengaturan parameter ini. Tanpa parameter ini, Anda tidak dapat dengan cepat menemukan masalah saat pekerjaan gagal.
Anda dapat menggunakan URL ini untuk melihat informasi runtime pekerjaan secara detail dan memecahkan masalah error. Nilainya tetap: http://logview.odps.aliyun.com.
http://logview.odps.aliyun.com
https_check
Tidak
Apakah akan mengaktifkan HTTPS untuk mengenkripsi permintaan ke proyek MaxCompute Anda. Nilai yang valid:
True: Gunakan HTTPS.
False: Gunakan HTTP.
Default: False.
True
data_size_confirm
Tidak
Ukuran maksimum data masukan dalam GB. Tidak ada batasan. Kami merekomendasikan 100 GB.
100
update_url
Tidak
Parameter cadangan. Abaikan untuk saat ini.
None
use_instance_tunnel
Tidak
Apakah akan menggunakan InstanceTunnel untuk mengunduh hasil kueri SQL. Nilai yang valid:
True: Mengunduh hasil eksekusi SQL menggunakan InstanceTunnel.
False: InstanceTunnel tidak digunakan untuk mengunduh hasil eksekusi SQL.
Default: False.
True
instance_tunnel_max_record
Tidak
Jumlah maksimum catatan yang dikembalikan untuk hasil kueri SQL. Atur jika use_instance_tunnel bernilai True. Maksimum: 10000.
10000
tunnel_endpoint
Tidak
Titik akhir publik untuk layanan Tunnel.
Jika Anda tidak mengatur titik akhir Tunnel, Tunnel secara otomatis merutekan ke titik akhir Tunnel untuk wilayah dan jaringan layanan MaxCompute Anda.
Jika Anda mengatur titik akhir Tunnel, Tunnel menggunakan titik akhir tersebut dan tidak melakukan auto-routing.
Untuk titik akhir Tunnel berdasarkan wilayah dan jaringan, lihat Endpoint.
http://dt.cn-hangzhou.maxcompute.aliyun.com
set.<key>
Tidak
Atur properti untuk proyek MaxCompute Anda.
Untuk daftar properti lainnya, lihat Property list.
set.odps.sql.decimal.odps2=true
Pastikan semua pengaturan sudah benar. Pengaturan yang salah menyebabkan kegagalan koneksi.
Jalankan client MaxCompute
Jika Anda menggunakan Pengguna RAM untuk menjalankan client MaxCompute, tambahkan Pengguna RAM tersebut ke proyek MaxCompute target menggunakan Akun Alibaba Cloud Anda. Untuk detailnya, lihat Berikan izin kepada pengguna lain.
Jalankan client MaxCompute dengan salah satu cara berikut:
Metode 1: File skrip dalam paket instalasi
Di folder bin di bawah path instalasi client MaxCompute Anda, klik ganda
odpscmd.bat(Windows) atauodpscmd(macOS). Ini akan menjalankan client MaxCompute. Anda akan melihat pesan berikut jika koneksi berhasil.
Metode 2: Jendela command-line sistem
Di jendela command-line sistem Anda, buka direktori bin di bawah path instalasi client MaxCompute Anda. Lalu jalankan
odpscmd(Windows) ataush odpscmd(Linux atau macOS). Ini akan menjalankan client MaxCompute. Anda akan melihat pesan berikut jika koneksi berhasil.CatatanDi Ubuntu, menjalankan
sh odpscmdmenghasilkan error. Coba gunakan./odpscmdsebagai gantinya.
Jika Anda menjalankan client MaxCompute dari command line sistem, Anda dapat meneruskan argumen untuk menjalankan perintah. Untuk daftar argumen lengkap, lihat Startup parameters.
Operasi terkait
Dapatkan bantuan untuk semua perintah
Gunakan salah satu metode berikut untuk mendapatkan bantuan cepat untuk perintah client MaxCompute:
Lihat bantuan perintah di client MaxCompute
Lihat bantuan untuk semua perintah.
odps@project_name>help; -- Equivalent to: odps@project_name>h;Lihat bantuan untuk perintah yang cocok dengan kata kunci tertentu.
Sebagai contoh, dapatkan bantuan untuk perintah terkait tabel.
odps@project_name>help table; -- Returns: Usage: alter table <tablename> merge smallfiles Usage: export table <tablename> Usage: show tables [in <project_name>] [like '<prefix>'] list|ls tables [-p,-project <project_name>] Usage: describe|desc [<projectname>.]<tablename> [partition(<spec>)] Usage: read [<project_name>.]<table_name> [(<col_name>[,..])] [PARTITION (<partition_spec>)] [line_num]PentingPerintah
readmenggunakan sintaks SQL. Untuk detail harga, lihat SQL pricing.
Lihat bantuan perintah di jendela command-line sistem
Di jendela command-line sistem Anda, buka folder bin di bawah path instalasi client MaxCompute Anda. Lalu jalankan perintah berikut untuk melihat bantuan semua perintah. Saat Anda menjalankan client MaxCompute dari command line, Anda dapat meneruskan beberapa argumen. Lihat Startup parameters untuk detailnya.
...\odpscmd\bin>odpscmd -hDapatkan info pengguna saat ini
Setelah menjalankan client MaxCompute, jalankan perintah ini untuk mengambil informasi pengguna Anda saat ini.
odps@project_name>whoami;Parameter yang dikembalikan dijelaskan di bawah ini.
Name: Nama akun Anda.
Source IP: Alamat IP perangkat tempat client MaxCompute dijalankan.
End_Point: Titik akhir untuk layanan MaxCompute.
Project: Nama proyek MaxCompute Anda.
Schema: Skema dalam proyek MaxCompute Anda.
Keluar dari client MaxCompute
Jalankan perintah ini untuk keluar dari client MaxCompute.
odps@project_name>quit;
-- Equivalent to:
odps@project_name>q;Jalankan perintahtunnel download
Pertama kali Anda menjalankan perintah
tunnel downloaddi client MaxCompute, client akan membuat folder session untuk menyimpan log. Folder ini terletak di subdirektoriplugins/dshipdari direktori instalasinya di perangkat Anda.Jika beberapa pengguna berbagi perangkat yang sama untuk menjalankan perintah
tunnel download, gunakan salah satu metode berikut untuk menjaga keamanan data:Gunakan kontrol izin folder perangkat Anda untuk mengelola akses ke folder session.
Dalam perintah
tunnel download, tambahkan parameter-sd <new session folder name>atau-session-dir <new session folder name>untuk mengunduh data ke folder session yang berbeda. Untuk informasi lebih lanjut tentang perintahtunnel download, lihat Download.
Referensi
Setelah login ke client MaxCompute, Anda dapat menjalankan perintah SQL di proyek MaxCompute Anda. Lihat Gunakan MaxCompute dengan client.
Untuk sintaks perintah lengkap, lihat Common commands atau SQL commands and functions.
FAQ
Setelah mengonfigurasi file odps_config.ini dan menjalankan client MaxCompute, error umum meliputi:
Error:no java found
Penyebab
Mesin Anda tidak memiliki Java yang terinstal.
Solusi
Instal Java di mesin Anda dan atur variabel lingkungan. Client MaxCompute v0.28.0 dan versi selanjutnya mendukung JDK 1.9. Versi sebelumnya hanya mendukung JDK 1.8.
Error:Could not find or load main class com.aliyun.openservices.odps.console.ODPSConsole
Penyebab
Anda mungkin telah mengunduh paket client dua kali. Unduhan kedua mengganti nama folder menjadi
odpscmd_public (1). Spasi atau karakter khusus dalam nama folder menyebabkan error path.Solusi
Hapus spasi dan karakter khusus dari nama folder.
Error:Accessing project '<projectname>' failed: ODPS-0420111: Project not found - '<projectname>'.
Penyebab
Nama proyek dalam file odps_config.ini salah.
Solusi
Login ke Konsol MaxCompute, lalu pilih wilayah di pojok kiri atas.
Pada panel navigasi di sebelah kiri, pilih .
Pada halaman Projects, salin nama proyek yang benar. Lalu perbarui file odps_config.ini.
Error:Accessing project '<projectname>' failed: ODPS-0420095: Access Denied - Authorization Failed [4002], You don't exist in project <projectname>.
Penyebab
ID AccessKey Anda tidak termasuk dalam Akun Alibaba Cloud atau Pengguna RAM yang ditambahkan ke proyek target. Atau nama proyek salah.
Solusi
Hubungi pemilik proyek untuk menambahkan Akun Alibaba Cloud atau Pengguna RAM Anda ke proyek target. Lihat Tambahkan Akun Alibaba Cloud (tingkat proyek) atau Tambahkan Pengguna RAM (tingkat proyek).
Error:Accessing project '<projectname>' failed: { "Code": "InvalidProjectTable", "Message": "The specified project or table name is not valid or missing."}atauAccessing project '<projectname>' failed: connect timed out
Penyebab
Nilai
end_pointsalah. Misalnya, Anda menggunakan titik akhir jaringan klasik untuk koneksi jaringan internal, atau Anda memasukkan titik akhir Tunnel alih-alih titik akhir MaxCompute.Solusi
Pilih titik akhir yang sesuai dengan wilayah dan jaringan proyek Anda. Lihat dokumentasi Endpoint.
Parameter
end_pointharus berisi titik akhir MaxCompute, bukan titik akhir Tunnel.
Error:Accessing project '<projectname>' failed: <endpoint>
Penyebab
Nilai parameter
end_pointsalah. Misalnya, titik akhir publik untuk wilayah China (Hangzhou),http://service.cn-hangzhou.maxcompute.aliyun.com/api, dimasukkan secara salah sebagaihttp://service.ch-hangzhou.maxcompute.aliyun.com/api.Solusi
Salin titik akhir yang benar dari dokumentasi Endpoint. Hindari mengetiknya secara manual.
Startup parameters
Di jendela command-line sistem Anda, gunakan parameter startup untuk menjalankan perintah dengan cepat. Sintaks:
Usage: odpscmd [OPTION]...
where options include the following:
--help (-h)for help
--config=<config_file> specify another config file
--project=<prj_name> use project
--endpoint=<http://host:port> set endpoint
-k <n> will skip begining queries and start from specified position
-r <n> set retry times
-f <"file_path;"> execute command in file
-e <"command;[command;]..."> execute command, include sql commandBerikut ini penjelasan parameter startup.
Perintah | Deskripsi | Contoh perintah |
| Dapatkan bantuan untuk semua perintah client MaxCompute. |
|
| Tentukan path ke file odps_config.ini. Path default: |
|
| Tentukan nama proyek MaxCompute yang akan diakses. |
|
| Tentukan titik akhir untuk layanan MaxCompute. Untuk detailnya, lihat Endpoint. |
|
| Jalankan pernyataan mulai dari posisi tertentu. Jika | Lewati dua pernyataan pertama dan mulai dari yang ketiga. |
| Atur jumlah percobaan ulang untuk pekerjaan yang gagal. |
|
| Tentukan file yang akan dibaca. |
|
| Tentukan perintah yang akan dijalankan. |
|
Di shell atau Windows command prompt, Anda mungkin perlu menangkap nilai kembali dinamis dari odpscmd -e <SQL statement> ke dalam variabel shell. Lalu gunakan variabel tersebut dalam tugas lanjutan. Untuk menghindari output tambahan seperti informasi runtime atau header tabel, atur parameter odps_config.ini use_instance_tunnel ke false. Ini akan menonaktifkan Instance Tunnel. Lalu jalankan set odps.sql.select.output.format={"needHeader":false,"fieldDelim":" "}; untuk menyembunyikan header tabel.
Sebagai contoh, tabel noheader memiliki satu kolom dan tiga baris: 1, 2, dan 3. Jalankan perintah berikut untuk mengarahkan output ke stdout. Hanya data mentah yang muncul, tanpa informasi tambahan:
-- Run in Windows command prompt.
...\odpscmd\bin>odpscmd -e "set odps.sql.select.output.format={""needHeader"":false,""fieldDelim"":"" ""};select * from noheader;" >D:\test.txt
-- Output saves to D:\test.txt.
-- Run in shell.
/Users/.../odpscmd/bin/odpscmd -e "set odps.sql.select.output.format={\"needHeader\":false,\"fieldDelim\":\"\"};select * from noheader;" >/Users/A/temp/test.txt
-- Output saves to /Users/A/temp/test.txt.
-- Output:
1
2
3Riwayat versi
Tabel berikut mencantumkan pembaruan terbaru untuk client MaxCompute. Klik tautan setiap versi untuk detail lengkapnya.
Untuk versi dan pembaruan fitur lainnya, lihat GitHub.
Version | Type | Description |
New feature | Dukung token STS sebagai kredensial keamanan temporary. | |
Bug fix | Perbarui library Apache Arrow untuk memperbaiki masalah kompatibilitas dependensi. | |
New feature | Tambahkan | |
Enhancement |
| |
Bug fix | Lakukan upgrade dependensi untuk memperbaiki kerentanan CVE. | |
New feature | Percepat pembuatan volume eksternal: Tambahkan akselerasi untuk pengunduhan volume eksternal. | |
Enhancement | Refactor | |
New feature |
| |
Enhancement |
| |
New feature |
| |
New feature |
| |
Bug fix | Mode MCQA kini mendeteksi perilaku fallback secara lebih akurat dan menghindari tampilan logview ganda. | |
New feature |
| |
Enhancement |
| |
New feature | Dukung tipe data JSON untuk operasi Tunnel. | |
New feature |
| |
Enhancement | Perluas | |
New feature |
| |
New feature |
| |
Enhancement |
| |
New feature |
| |
Bug fix | Hapus dependensi Log4j. | |
New feature | Dukung penyimpanan proyek berbasis skema. Lihat Operasi skema. | |
New feature | Dukung tipe data kompleks untuk upload dan download Tunnel. | |
Enhancement |
| |
New feature | Dukung koneksi proyek eksternal ke Data Lake Formation (DLF) untuk fitur danau data terpadu. | |
Bug fix | Perbaiki penanganan nanosecond (nano) saat mengunduh data TIMESTAMP. |