Client lokal MaxCompute (odpscmd) dirancang untuk operasi berbasis baris perintah. Anda dapat menjalankannya di mesin lokal untuk mengeksekusi perintah dan mengelola proyek secara efisien. Topik ini menjelaskan cara mengunduh, menginstal, mengonfigurasi, menjalankan, dan menggunakan client tersebut.
Lingkup
Java 8 atau versi yang lebih baru telah diinstal pada perangkat tempat Anda ingin menginstal client MaxCompute.
Kompatibilitas versi
Client MaxCompute V0.28.0 dan versi yang lebih baru mendukung Java Development Kit (JDK) 1.9. Versi sebelum V0.28.0 hanya mendukung JDK 1.8. Setelah Anda menjalankan client MaxCompute, Anda dapat melihat nomor versi client di command-line interface.
Format output client MaxCompute tidak kompatibel ke depan (forward-compatible). Format perintah dan perilaku dapat berbeda antarversi. Jangan mengandalkan format output client untuk tugas parsing apa pun.
Untuk informasi selengkapnya tentang versi client, lihat aliyun-odps-console.
Format encoding
Client menggunakan encoding UTF-8 secara default. Jika lingkungan lokal Anda tidak menggunakan encoding UTF-8, karakter akan tampak rusak (garbled) saat Anda melakukan kueri tabel MaxCompute dan nilai yang dikembalikan berisi karakter Tionghoa. Karakter rusak juga dapat muncul saat Anda menggunakan client untuk menjalankan perintah Tunnel guna mengunggah file data lokal ke MaxCompute.
Penagihan
Anda tidak dikenai biaya untuk menghubungkan ke proyek menggunakan client MaxCompute. Namun, operasi yang Anda lakukan melalui client tersebut dapat menimbulkan biaya MaxCompute. Misalnya, jika Anda menggunakan client untuk mengirimkan kueri SQL dan perintah write, perintah SQL tersebut mengonsumsi sumber daya komputasi saat dijalankan di MaxCompute, dan data yang ditulis menempati storage space. Hal ini menghasilkan biaya komputasi dan penyimpanan. Untuk informasi selengkapnya tentang penagihan MaxCompute, lihat Item yang dikenai biaya dan metode penagihan.
Instal dan konfigurasikan klien MaxCompute
Client mendukung edisi tipe data MaxCompute V2.0 mulai dari V0.27.0. Kami merekomendasikan penggunaan tipe data baru. Untuk daftar tipe data yang didukung, lihat Edisi tipe data.
Ikuti langkah-langkah berikut:
Unduh paket instalasi client MaxCompute (GitHub).
CatatanKlik tautan untuk membuka halaman rilis client dan unduh versi terbaru paket instalasi client MaxCompute (odpscmd_public.zip).
Jika Anda tidak dapat mengunduh paket dari tautan di atas, coba klik paket instalasi client MaxCompute (OSS) untuk mengunduhnya. Jika tautan GitHub gagal, kami sarankan Anda mencari solusi di mesin pencari.
Ekstrak paket instalasi yang telah diunduh untuk mendapatkan folder bin, conf, lib, dan plugins.
Buka folder conf dan konfigurasikan file odps_config.ini.
Pada file odps_config.ini, baris yang diawali tanda pagar (#) merupakan komentar. Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Diperlukan
Deskripsi
Contoh
project_name
Ya
Nama proyek MaxCompute target yang ingin Anda akses.
Jika Anda membuat ruang kerja dalam mode standar, perhatikan perbedaan antara nama proyek untuk lingkungan produksi dan lingkungan pengembangan (_dev) saat mengonfigurasi parameter project_name. Untuk informasi selengkapnya, lihat Perbedaan antar mode ruang kerja.
Login ke Konsol MaxCompute, lalu pilih wilayah di pojok kiri atas.
Pada panel navigasi di sebelah kiri, pilih .
Pada halaman Projects, Anda dapat menemukan nama proyek MaxCompute Anda.
doc_test_dev
access_id
Ya
ID AccessKey Akun Alibaba Cloud atau Pengguna RAM Anda. Anda dapat membuka halaman AccessKey Management untuk mendapatkan ID AccessKey tersebut.
Tidak ada
access_key
Ya
Rahasia AccessKey yang sesuai dengan ID AccessKey.
Tidak ada
end_point
Ya
Titik akhir layanan MaxCompute.
Konfigurasikan titik akhir berdasarkan wilayah dan jenis koneksi jaringan yang Anda pilih saat membuat proyek MaxCompute. Untuk informasi tentang titik akhir berbagai wilayah dan jaringan, lihat Endpoints.
PentingTitik akhir ini digunakan untuk layanan MaxCompute, sedangkan titik akhir Tunnel digunakan untuk layanan MaxCompute Tunnel. Masukkan titik akhir layanan MaxCompute di sini.
Jika titik akhir dikonfigurasi salah, akan terjadi error akses. Pastikan titik akhir tersebut benar.
http://service.cn-hangzhou.maxcompute.aliyun.com/api
log_view_host
Tidak
Alamat Logview. Kami merekomendasikan Anda mengonfigurasi parameter ini. Jika tidak dikonfigurasi, Anda tidak dapat dengan cepat menemukan masalah ketika pekerjaan gagal.
Anda dapat menggunakan alamat ini untuk melihat informasi waktu proses detail suatu pekerjaan, yang menjadi dasar untuk troubleshooting. Nilainya tetap di http://logview.odps.aliyun.com.
http://logview.odps.aliyun.com
https_check
Tidak
Menentukan apakah akses HTTPS diaktifkan untuk mengenkripsi permintaan saat mengakses proyek MaxCompute. Nilai yang valid:
True: Menggunakan HTTPS.
False: Menggunakan HTTP.
Nilai default: False.
True
data_size_confirm
Tidak
Ukuran maksimum data masukan dalam GB. Parameter ini tidak memiliki batasan rentang nilai. Kami merekomendasikan Anda mengatur parameter ini ke 100 GB.
100
update_url
Tidak
Parameter cadangan yang dapat Anda abaikan.
Tidak ada
use_instance_tunnel
Tidak
Menentukan apakah akan menggunakan InstanceTunnel untuk mengunduh hasil eksekusi pernyataan SQL. Nilai valid:
True: Gunakan InstanceTunnel untuk mengunduh hasil eksekusi pernyataan SQL.
False: Jangan gunakan InstanceTunnel untuk mengunduh hasil eksekusi pernyataan SQL.
Nilai default: False.
True
instance_tunnel_max_record
Tidak
Jumlah maksimum catatan yang dapat dikembalikan client untuk hasil eksekusi SQL. Jika Anda mengatur use_instance_tunnel ke True, Anda harus mengonfigurasi parameter ini. Nilai maksimum adalah 10000.
10000
tunnel_endpoint
Tidak
Titik akhir publik layanan Tunnel.
Jika Anda tidak mengonfigurasi titik akhir Tunnel, Tunnel secara otomatis mengarahkan traffic ke titik akhir Tunnel yang sesuai dengan jaringan tempat layanan MaxCompute berada.
Jika Anda mengonfigurasi titik akhir Tunnel, titik akhir yang dikonfigurasi tersebut akan digunakan, dan routing otomatis tidak dilakukan.
Untuk informasi tentang titik akhir Tunnel berbagai wilayah dan jaringan, lihat Endpoints.
http://dt.cn-hangzhou.maxcompute.aliyun.com
set.<key>
Tidak
Mengatur properti proyek MaxCompute.
Untuk informasi selengkapnya tentang properti, lihat Properties.
set.odps.sql.decimal.odps2=true
Pastikan informasi di atas dikonfigurasi dengan benar. Konfigurasi yang salah akan menyebabkan koneksi ke proyek gagal.
Jalankan klien MaxCompute
Jika Anda menggunakan Pengguna RAM untuk menjalankan client MaxCompute, gunakan Akun Alibaba Cloud Anda untuk menambahkan Pengguna RAM tersebut ke proyek MaxCompute target. Untuk informasi selengkapnya tentang menambahkan anggota ruang kerja, lihat Berikan izin kepada pengguna lain.
Jalankan client MaxCompute menggunakan salah satu metode berikut:
Metode 1: Gunakan file skrip dalam paket instalasi
Pada folder bin direktori instalasi client MaxCompute, klik ganda file
odpscmd.batuntuk Windows atau fileodpscmduntuk macOS untuk menjalankan client MaxCompute. Jika informasi berikut dikembalikan, Anda telah berhasil terhubung ke proyek MaxCompute.
Metode 2: Gunakan jendela command-line sistem operasi Anda
Pada jendela command-line sistem operasi Anda, buka direktori bin path instalasi client MaxCompute. Jalankan perintah
odpscmduntuk Windows ataush odpscmduntuk Linux atau macOS untuk menjalankan client MaxCompute. Jika informasi berikut dikembalikan, Anda telah berhasil terhubung ke proyek MaxCompute.CatatanJika Anda menjalankan
sh odpscmddi Ubuntu, akan muncul error. Coba jalankan perintah./odpscmduntuk menjalankan client.
Jika Anda menjalankan client MaxCompute dari jendela command-line sistem operasi, Anda dapat menentukan parameter untuk menjalankan perintah. Untuk informasi selengkapnya tentang parameter tersebut, lihat Parameter startup.
Operasi terkait pada client MaxCompute
Dapatkan bantuan untuk semua perintah
Anda dapat dengan cepat mendapatkan bantuan untuk perintah client MaxCompute menggunakan salah satu metode berikut:
Lihat informasi bantuan perintah di client MaxCompute
Lihat informasi bantuan untuk semua perintah.
odps@project_name>help; -- Perintah ini setara dengan perintah berikut. odps@project_name>h;Tentukan kata kunci untuk melihat informasi bantuan perintah terkait.
Misalnya, dapatkan bantuan untuk perintah yang terkait dengan operasi tabel.
odps@project_name>help table; -- Hasil berikut dikembalikan. 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 informasi selengkapnya tentang penagihan, lihat Penagihan SQL.
Lihat informasi bantuan perintah di jendela command-line sistem operasi Anda
Pada jendela command-line sistem operasi Anda, buka direktori bin path instalasi client MaxCompute. Jalankan perintah berikut untuk melihat informasi bantuan semua perintah. Saat Anda menjalankan client MaxCompute di jendela command-line, Anda dapat menentukan serangkaian parameter. Untuk informasi selengkapnya tentang parameter tersebut, lihat Parameter startup.
...\odpscmd\bin>odpscmd -hDapatkan informasi tentang pengguna login saat ini
Setelah menjalankan client MaxCompute, jalankan perintah berikut untuk mendapatkan informasi tentang pengguna login saat ini.
odps@project_name>whoami;Berikut penjelasan responsnya.
Name: Informasi akun pengguna login saat ini.
Source IP: Alamat IP perangkat tempat client MaxCompute berada.
End_Point: Titik akhir layanan MaxCompute.
Project: Nama proyek MaxCompute.
Schema: Skema dalam proyek MaxCompute.
Keluar dari klien MaxCompute
Jalankan perintah berikut untuk keluar dari client MaxCompute yang sedang berjalan.
odps@project_name>quit;
-- Perintah ini setara dengan perintah berikut.
odps@project_name>q;Jalankan perintah tunnel download
Saat Anda menjalankan perintah
tunnel downloaduntuk pertama kali, client MaxCompute membuat folder session di direktoriplugins/dshipinstalasi client untuk menyimpan log.Jika beberapa pengguna menjalankan perintah
tunnel downloadpada perangkat yang sama, gunakan salah satu metode berikut untuk memastikan keamanan data:Gunakan fitur pengelolaan izin folder perangkat untuk mengelola izin pada folder session.
Tambahkan parameter
-sd <nama folder session baru>atau-session-dir <nama folder session baru>ke perintahtunnel downloaduntuk mengunduh data ke folder session yang berbeda. Untuk informasi selengkapnya tentang perintahtunnel download, lihat Download.
Referensi
Setelah Anda masuk ke klien MaxCompute, Anda dapat menjalankan perintah SQL di proyek MaxCompute. Untuk informasi lebih lanjut, lihat Gunakan klien MaxCompute.
Untuk informasi selengkapnya tentang sintaks perintah yang didukung client MaxCompute, lihat Perintah umum atau Perintah dan fungsi SQL.
Tanya Jawab
Setelah mengonfigurasi file odps_config.ini, error umum berikut dapat terjadi saat Anda menjalankan client MaxCompute:
Error: no java found
Penyebab
Java belum diinstal pada mesin tempat Anda menjalankan client MaxCompute.
Solusi
Instal Java pada mesin tempat Anda menjalankan client MaxCompute dan konfigurasikan variabel lingkungan. Client MaxCompute V0.28.0 dan versi yang lebih baru mendukung JDK 1.9. Versi sebelumnya hanya mendukung JDK 1.8.
Error: Cannot find or load the main class com.aliyun.openservices.odps.console.ODPSConsole
Penyebab
Kemungkinan Anda mengunduh paket instalasi client dua kali. Pada unduhan kedua, direktori secara otomatis diganti namanya menjadi
odpscmd_public (1). Nama direktori tersebut mengandung karakter seperti spasi, yang menyebabkan error pengenalan path.Solusi
Hapus karakter seperti spasi dari nama direktori.
Error: Accessing project '<projectname>' failed: ODPS-0420111: Project not found - '<projectname>'.
Penyebab
Nama proyek dalam file konfigurasi 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, dapatkan nama yang benar dari proyek MaxCompute yang telah dibuat dan modifikasi file konfigurasi odps_config.ini.
Error: Accessing project '<projectname>' failed: ODPS-0420095: Access Denied - Authorization Failed [4002], You don't exist in project <projectname>.
Penyebab
Akun Alibaba Cloud atau Pengguna RAM yang sesuai dengan AccessKey belum ditambahkan ke proyek target, atau nama proyek salah.
Solusi
Hubungi pemilik proyek untuk menambahkan Akun Alibaba Cloud atau Pengguna RAM yang sesuai ke proyek target. Untuk informasi selengkapnya, lihat Tambahkan pengguna 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."} atau Accessing project '<projectname>' failed: connect timed out
Penyebab
Nilai parameter
end_pointsalah. Misalnya, Anda menggunakan client MaxCompute di komputer lokal untuk menghubungkan ke proyek, tetapi menggunakan titik akhir untuk jaringan klasik Alibaba Cloud (titik akhir jaringan internal dalam lingkungan jaringan publik) atau memasukkan titik akhir Tunnel.Solusi
Lihat dokumen Endpoints dan pilih titik akhir yang sesuai dengan wilayah dan lingkungan jaringan proyek yang ingin Anda hubungkan.
Titik akhir ini digunakan untuk layanan MaxCompute, sedangkan titik akhir Tunnel digunakan untuk layanan MaxCompute Tunnel. Parameter
end_pointharus diatur ke titik akhir layanan MaxCompute, bukan titik akhir Tunnel.
Error: Accessing project '<projectname>' failed: <endpoint>
Penyebab
Nilai parameter
end_pointsalah. Misalnya, Anda memasukkanhttp://service.ch-hangzhou.maxcompute.aliyun.com/apialih-alih titik akhir publik untuk wilayah China (Hangzhou), yaituhttp://service.cn-hangzhou.maxcompute.aliyun.com/api.Solusi
Lihat dokumen Endpoints dan salin titik akhir yang sesuai dengan wilayah dan lingkungan jaringan proyek yang ingin Anda hubungkan. Kami merekomendasikan agar Anda tidak memasukkan titik akhir secara manual.
Parameter startup
Pada jendela command-line sistem operasi Anda, Anda dapat menentukan serangkaian parameter untuk menjalankan perintah secara cepat. Penggunaannya sebagai berikut.
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 commandTabel berikut menjelaskan parameter startup.
Perintah | Deskripsi | Contoh perintah |
| Mendapatkan informasi bantuan untuk semua perintah client MaxCompute. |
|
| Menentukan path file konfigurasi odps_config.ini. Path default adalah |
|
| Menentukan nama proyek MaxCompute yang akan diakses. |
|
| Menentukan titik akhir layanan MaxCompute. Untuk informasi selengkapnya tentang titik akhir, lihat Endpoints. |
|
| Menjalankan pernyataan mulai dari posisi tertentu. Jika | Abaikan dua pernyataan pertama dan mulai dari pernyataan ketiga. |
| Mengatur jumlah percobaan ulang jika pekerjaan gagal. |
|
| Menentukan file yang akan dibaca. |
|
| Menentukan perintah yang akan dijalankan. |
|
Di jendela Shell atau Windows Command Prompt, Anda mungkin perlu menggunakan nilai kembali dinamis dari perintah odpscmd -e <SQL_statement>. Variabel Shell mendapatkan nilai kembali dinamis ini lalu menggunakannya dalam pekerjaan selanjutnya di Shell. Dalam skenario ini, nilai kembali tidak boleh berisi informasi tambahan seperti informasi waktu proses atau header tabel. Untuk memudahkan pemanggilan Shell, atur parameter use_instance_tunnel dalam file odps_config.ini ke false untuk menonaktifkan layanan Instance Tunnel. Kemudian, jalankan perintah set odps.sql.select.output.format={"needHeader":false,"fieldDelim":" "}; untuk menyembunyikan header tabel.
Misalnya, sebuah tabel bernama noheader memiliki satu kolom dan tiga baris data: 1, 2, dan 3. Jalankan perintah berikut untuk mengarahkan hasil perhitungan ke stdout ke handle target. Hasil hanya berisi data spesifik, tanpa informasi tambahan lainnya:
--Jalankan perintah berikut di Windows Command Prompt.
...\odpscmd\bin>odpscmd -e "set odps.sql.select.output.format={""needHeader"":false,""fieldDelim"":"" ""};select * from noheader;" >D:\test.txt
--Hasil disimpan di D:\test.txt.
--Jalankan perintah berikut di jendela Shell.
/Users/.../odpscmd/bin/odpscmd -e "set odps.sql.select.output.format={\"needHeader\":false,\"fieldDelim\":\"\"};select * from noheader;" >/Users/A/temp/test.txt
--Hasil disimpan di /Users/A/temp/test.txt.
--Hasil berikut dikembalikan.
1
2
3Riwayat pembaruan versi
Tabel berikut menjelaskan pembaruan versi terbaru client MaxCompute. Untuk informasi selengkapnya, klik tautan versi yang sesuai.
Untuk informasi selengkapnya tentang versi client MaxCompute dan pembaruan fitur terkait, lihat GitHub.
Versi | Jenis perubahan | Deskripsi |
New feature | Mendukung penggunaan Token Layanan Keamanan (STS) sebagai kredensial keamanan temporary. | |
Bug fix | Memperbarui versi library Apache Arrow untuk memperbaiki masalah kompatibilitas dengan dependensi library Arrow. | |
New feature | Menambahkan opsi untuk melewati laporan kemajuan. Anda dapat menambahkan parameter konfigurasi | |
Feature enhancement |
| |
Bug fix | Memperbarui dependensi untuk membersihkan kerentanan Common Vulnerabilities and Exposures (CVE). | |
New feature | Peningkatan akselerasi untuk pembuatan volume eksternal: Menambahkan opsi akselerasi untuk pengunduhan volume eksternal. | |
Feature enhancement | Menyusun ulang perintah | |
New feature |
| |
Feature enhancement |
| |
New feature |
| |
New feature |
| |
Bug fix | Mode MCQA dapat mengidentifikasi perilaku fallback dengan lebih akurat untuk mencegah Logview ditampilkan berulang-ulang. | |
New feature |
| |
Feature enhancement |
| |
New feature | Operasi terkait Tunnel mendukung tipe data JSON. | |
New feature |
| |
Feature enhancement | Informasi tingkat penyimpanan deskripsi tabel yang disempurnakan: Memperluas | |
New feature |
| |
New feature |
| |
Feature enhancement |
| |
Fitur baru |
| |
Bug fix | Menghapus dependensi Log4j. | |
Fitur baru | Mendukung penyimpanan data proyek berdasarkan skema. Untuk informasi selengkapnya, lihat Operasi skema. | |
Fitur baru | Mendukung pengunggahan dan pengunduhan tipe data kompleks melalui Tunnel. | |
Feature enhancement |
| |
Fitur baru | Mendukung pembuatan Proyek Eksternal untuk menghubungkan ke Data Lake Formation (DLF) dan mengimplementasikan fitur danau data terpadu. | |
Bug fix | Memperbaiki masalah di mana bagian nanodetik data TIMESTAMP diproses salah saat diunduh. |