Untuk mentransfer sejumlah besar data antara lingkungan on-premises dan MaxCompute, Anda dapat menggunakan perintah Tunnel yang disediakan oleh MaxCompute guna mengunggah dan mengunduh data. Perintah ini mendukung transfer data batch maupun inkremental untuk meningkatkan efisiensi dan keamanan selama transfer data skala besar. Topik ini menjelaskan cara menggunakan perintah Tunnel untuk mengunggah dan mengunduh data.
Deskripsi perintah
-
Sintaks
tunnel <subcommand> [options] [args]Opsi
Subperintah yang tersedia: upload (u) download (d) resume (r) show (s) purge (p) help (h) upsert(us) -
Parameter
-
upload: mengunggah data ke tabel MaxCompute. Setiap kali eksekusi, Anda hanya dapat mengunggah file ke satu tabel atau satu partisi. Untuk tabel partisi, Anda harus menentukan partisi tujuan pengunggahan data. Pada tabel partisi multi-level, Anda wajib menentukan partisi level terendah.
-- Mengunggah data dari log.txt (terletak di direktori bin klien MaxCompute) ke partisi p1="b1",p2="b2" dari tabel test_table yang memiliki dua level partisi dalam proyek test_project. tunnel upload log.txt test_project.test_table/p1="b1",p2="b2"; -- Mengunggah data dari log.txt ke test_table. Parameter --scan=true memvalidasi data dalam log.txt terhadap skema test_table. Jika data tidak sesuai dengan skema, kesalahan dilaporkan dan pengunggahan dibatalkan. tunnel upload log.txt test_table --scan=true; -- Mengunggah data dari log.txt di direktori berbeda ke partisi p1="b1",p2="b2" dari tabel test_table yang memiliki dua level partisi dalam proyek test_project. tunnel upload D:\test\log.txt test_project.test_table/p1="b1",p2="b2"; -
download: mengunduh data dari tabel MaxCompute. Setiap kali eksekusi, Anda hanya dapat mengunduh data dari satu tabel atau satu partisi ke satu file lokal. Untuk tabel partisi, Anda harus menentukan partisi sumber pengunduhan data. Pada tabel partisi multi-level, Anda wajib menentukan partisi level terendah.
-- Mengunduh data dari partisi tabel test_table yang memiliki dua level partisi dalam proyek test_project ke file test_table.txt. tunnel download test_project.test_table/p1="b1",p2="b2" test_table.txt; -- Mengunduh data dari partisi tabel test_table yang memiliki dua level partisi dalam proyek test_project ke file di direktori berbeda. tunnel download test_project.test_table/p1="b1",p2="b2" D:\test\test_table.txt; -
resume: melanjutkan transfer file atau direktori yang terganggu akibat putusnya jaringan atau gangguan pada Tunnel. Perintah ini hanya berlaku untuk melanjutkan unggahan data. Satu sesi transfer data (unggahan atau unduhan) disebut sebagai sesi. Anda harus menentukan ID sesi dalam perintah resume sebelum menjalankannya.
tunnel resume; -
show: menampilkan informasi tugas historis.
-- Menampilkan perintah yang digunakan dalam lima unggahan atau unduhan data terakhir. tunnel show history -n 5; -- Menampilkan log unggahan atau unduhan data terakhir. tunnel show log; -
purge: membersihkan file log Tunnel dari direktori sesi. Secara default, log tiga hari terakhir akan dibersihkan.
-- Membersihkan log dari lima hari terakhir. tunnel purge 5; -
help: mendapatkan informasi bantuan.
-
upsert: menggunakan semantik UPDATE dan INSERT untuk menulis data. Hanya tabel Transaction Table 2.0 yang mendukung penulisan data menggunakan pernyataan UPSERT.
Jika tidak ditemukan data yang cocok di tabel tujuan, data baru dimasukkan ke dalam tabel. Jika data yang akan ditulis sudah ada, data tersebut diperbarui di dalam tabel.
-- Mengunggah data dalam file log.txt ke partisi p1="b1" dan p2="b2" dari tabel test_table yang memiliki dua level partisi dalam proyek test_project. File log.txt disimpan di direktori bin klien MaxCompute. tunnel upsert log.txt test_project.test_table/p1="b1",p2="b2";
-
Upload
-
Deskripsi
Mengunggah data lokal ke tabel MaxCompute dalam mode append.
CatatanMode append: Jika data yang ingin Anda impor sudah ada di tabel MaxCompute, data tersebut tidak ditimpa setelah Anda menjalankan perintah Upload. Dalam hal ini, baik data yang sudah ada maupun data yang diimpor tetap ada di tabel MaxCompute.
-
Sintaks
tunnel upload [options] <path> <[project.]table[/partition]>Format
Opsi yang tersedia: -acp,-auto-create-partition <ARG> membuat partisi target secara otomatis jika belum ada, default false -bs,-block-size <ARG> ukuran blok dalam MiB, default 100 -c,-charset <ARG> tentukan charset file, default ignore. atur ignore untuk mengunduh data mentah -cf,-csv-format <ARG> gunakan format csv (true|false), default false. Saat mengunggah dalam format csv, pemisahan file tidak didukung. -cp,-compress <ARG> kompresi, default true -dbr,-discard-bad-records <ARG> tentukan aksi buang catatan buruk (true|false), default false -dfp,-date-format-pattern <ARG> tentukan pola format tanggal, default yyyy-MM-dd HH:mm:ss -fd,-field-delimiter <ARG> tentukan pemisah bidang, mendukung unicode, misalnya \u0001. default "," -h,-header <ARG> apakah file lokal harus memiliki header tabel, default false -mbr,-max-bad-records <ARG> maksimum catatan buruk, default 1000 -ni,-null-indicator <ARG> tentukan string indikator null, default ""(string kosong) -ow,-overwrite <true | false> timpa tabel atau partisi yang ditentukan, default: false -rd,-record-delimiter <ARG> tentukan pemisah record, mendukung unicode, misalnya \u0001. default "\r\n" -s,-scan <ARG> tentukan aksi pemindaian file (true|false|only), default true -sd,-session-dir <ARG> atur direktori sesi, default D:\software\odpscmd_public\plugins\dship -ss,-strict-schema <ARG> tentukan mode skema ketat. Jika false, data tambahan akan dibuang dan bidang yang kurang akan diisi dengan null. Default true -t,-threads <ARG> jumlah thread, default 1 -te,-tunnel_endpoint <ARG> titik akhir tunnel -time,-time <ARG> lacak waktu tempuh upload/download atau tidak. Default false -tz,-time-zone <ARG> zona waktu, default zona waktu lokal: Asia/Shanghai Contoh: tunnel upload log.txt test_project.test_table/p1="b1",p2="b2" -
Parameter
-
Parameter yang diperlukan
-
path
Menentukan jalur dan nama file data yang ingin Anda unggah.
Anda dapat menyimpan file data di direktori
binklien MaxCompute. Dalam hal ini, atur parameter path ke nilai dalam formatNama file.Ekstensi file. Anda juga dapat menyimpan file data di direktori lain, seperti folder test di drive D. Dalam kasus ini, atur parameter path ke nilai dalam formatD:\test\Nama file.Ekstensi file.CatatanDi macOS, nilai parameter path hanya boleh berupa jalur mutlak. Misalnya, jika file data disimpan di direktori
binklien MaxCompute, atur parameter path ke nilai dalam format/Users/username/MaxCompute/bin/nama file.ekstensi file. -
[project.]table[/partition]
Menentukan nama tabel tempat Anda ingin mengunggah data. Untuk tabel partisi, Anda harus menentukan partisi level terendah. Jika tabel tersebut tidak termasuk dalam proyek saat ini, Anda harus menentukan proyek tempat tabel tersebut berada.
-
-
Parameter opsional
-
-acp
Menentukan partisi tempat Anda ingin mengunggah data. Jika partisi yang ditentukan tidak ada, partisi akan dibuat secara otomatis. Nilai default: False.
-
-bs
Menentukan ukuran blok data yang diunggah oleh Tunnel setiap kali. Nilai default: 100 MiB (1 MiB = 1024 × 1024 byte).
-
-c
Menentukan format encoding file data. Secara default, parameter ini tidak ditentukan, dan data mentah diunduh.
-
-cf
Menentukan apakah file tersebut merupakan file CSV. Nilai default: False.
CatatanPerintah Upload hanya dapat digunakan untuk mengunggah file TXT dan CSV. File TXT diunggah secara default. Jika Anda ingin mengunggah file CSV, Anda harus mengonfigurasi parameter
-cfdan mengunduh versi terbaru klien MaxCompute. -
-cp
Menentukan apakah file data lokal dikompresi sebelum diunggah ke MaxCompute untuk mengurangi lalu lintas jaringan. Nilai default: True.
-
-dbr
Menentukan apakah akan mengabaikan data kotor, seperti kolom tambahan, kolom yang hilang, atau tipe data kolom yang tidak cocok. Nilai default: False.
-
True: mengabaikan semua data yang tidak sesuai dengan definisi tabel. Secara default, 1.000 catatan data diabaikan. Untuk mengubah jumlah catatan data yang ingin Anda abaikan, tentukan parameter -mbr.
-
False: Kesalahan dikembalikan setelah data kotor terdeteksi. Hal ini memastikan bahwa data mentah di tabel tempat Anda ingin mengunggah data tidak terkontaminasi.
-
-
-dfp
Menentukan format data DATETIME. Format default adalah
yyyy-MM-dd HH:mm:ss. Jika Anda ingin menentukan data DATETIME yang akurat hingga milidetik, gunakan format yyyy-MM-dd HH:mm:ss.SSS. Untuk informasi lebih lanjut tentang tipe data DATETIME, lihat Panduan versi tipe data. -
-fd
Menentukan pemisah kolom yang digunakan dalam file data lokal. Nilai default: koma (,).
-
-h
Menentukan apakah file data yang ingin Anda unggah memiliki header tabel. Nilai default: False, yang berarti file data tidak boleh berisi header tabel. Jika Anda mengatur parameter ini ke True, file data dapat berisi header tabel, dan sistem akan melewati header tersebut serta mengunggah data mulai dari baris kedua.
-
-mbr
Menentukan jumlah maksimum catatan data kotor yang diizinkan. Parameter ini harus digunakan bersama dengan parameter -dbr dan hanya berlaku ketika parameter -dbr diatur ke True. Jika jumlah catatan data kotor melebihi nilai yang ditentukan, pengunggahan dihentikan. Nilai default: 1.000.
-
-ni
Menentukan indikator data NULL. Nilai default: string kosong.
-
-ow
Menentukan apakah data yang diunggah menimpa tabel atau partisi. Nilai default: False, yang berarti data diunggah dalam mode append. Kode berikut menunjukkan contohnya.
-- Membuat tabel partisi. CREATE TABLE IF NOT EXISTS sale_detail( shop_name STRING, customer_id STRING, total_price DOUBLE) PARTITIONED BY (sale_date STRING,region STRING); ALTER TABLE sale_detail ADD PARTITION (sale_date='201312', region='hangzhou'); -- Siapkan file data lokal bernama data.txt di drive D dengan konten berikut: shopx,x_id,100 shopy,y_id,200 -- Unggah data ke tabel partisi. tunnel upload d:\data.txt sale_detail/sale_date=201312,region=hangzhou; -- Kueri tabel sale_detail. SELECT * FROM sale_detail; -- Hasil berikut dikembalikan: +------------+-------------+-------------+------------+------------+ | shop_name | customer_id | total_price | sale_date | region | +------------+-------------+-------------+------------+------------+ | shopx | x_id | 100.0 | 201312 | hangzhou | | shopy | y_id | 200.0 | 201312 | hangzhou | +------------+-------------+-------------+------------+------------+ -- Ubah file data.txt lokal dengan konten berikut: shopx,x_id,300 shopy,y_id,400 -- Timpa data di partisi. tunnel upload -ow true data.txt sale_detail/sale_date=201312,region=hangzhou; -- Kueri tabel sale_detail. SELECT * FROM sale_detail; -- Hasil berikut dikembalikan: +------------+-------------+-------------+------------+------------+ | shop_name | customer_id | total_price | sale_date | region | +------------+-------------+-------------+------------+------------+ | shopx | x_id | 300.0 | 201312 | hangzhou | | shopy | y_id | 400.0 | 201312 | hangzhou | +------------+-------------+-------------+------------+------------+ -
-rd
Menentukan pemisah baris yang digunakan dalam file data lokal. Nilai default:
\r\n. -
-s
Menentukan apakah akan memindai file data lokal. Nilai default: True.
-
True: Sistem memindai data dan mulai mengimpor data hanya jika data dalam format yang benar.
-
False: Sistem mengimpor data tanpa memindai.
-
Only: Sistem hanya memindai data lokal. Data tidak diimpor setelah pemindaian.
-
-
-sd
Menentukan direktori sesi.
-
-ss
Menentukan mode skema ketat. Nilai default: True. Jika Anda mengatur parameter ini ke False, data tambahan dibuang, dan bidang yang tidak ditentukan diisi dengan NULL.
-
-t
Menentukan jumlah thread. Nilai default: 1.
-
-te
Menentukan titik akhir Tunnel.
-
-time
Menentukan apakah waktu unggah dilacak. Nilai default: False.
-
-tz
Menentukan zona waktu. Nilai default: zona waktu lokal, seperti Asia/Shanghai. Untuk informasi lebih lanjut tentang zona waktu, lihat Daftar zona waktu.
-
-
Show
-
Menampilkan catatan historis.
-
Sintaks
tunnel show history [-n <number>];-n <number>: menentukan jumlah catatan historis yang ditampilkan.
-
Contoh
Contoh 1: Tampilkan catatan historis. Secara default, 500 catatan data disimpan.
tunnel show history;Hasil berikut dikembalikan:
20230505xxxxxxxxxxxxxx0b0d5b3c bad 'upload d:\data.txt sale_detail/sale_date=201312,region=hangzhou -dbr true -time true' 20230505xxxxxxxxxxxxxx0ad720a3 failed 'upload d:\data.txt sale_detail/sale_date=201312,region=hangzhou -time true' 20230505xxxxxxxxxxxxxx0ad5ca68 bad 'upload d:\data.txt sale_detail/sale_date=201312,region=hangzhou -dbr true' ......Contoh 2: Tampilkan perintah yang digunakan dalam lima unggahan atau unduhan data terakhir.
tunnel show history -n 5;Hasil berikut dikembalikan:
20230505xxxxxxxxxxxxxx0aa48c4b success 'download sale_detail/sale_date=201312,region=hangzhou result.txt' 20230505xxxxxxxxxxxxxx0aa6165c success 'download sale_detail/sale_date=201312,region=hangzhou result.txt' 20230505xxxxxxxxxxxxxx0af11472 failed 'upload d:\data.txt sale_detail/sale_date=201312,region=hangzhou -s false' 20230505xxxxxxxxxxxxxx0b464374 success 'upload d:\data.txt sale_detail/sale_date=201312,region=hangzhou -s false' 20230505xxxxxxxxxxxxxx02dbb6bd failed 'upload d:\data.txt sale_detail/sale_date="201312",region="hangzhou" -s false'
-
-
Menampilkan log unggahan atau unduhan data terakhir.
tunnel show log;
Resume
-
Deskripsi
Melanjutkan eksekusi operasi historis. Hanya unggahan data yang dapat dilanjutkan.
-
Sintaks
tunnel resume <session_id> [-force]; -
Parameter
-
session_id
Menentukan ID sesi yang gagal diunggah. Parameter ini merupakan parameter yang diperlukan.
-
-f
Menentukan apakah akan memaksa melanjutkan eksekusi operasi historis. Parameter ini diabaikan secara default.
-
-
Contoh
Jalankan perintah berikut untuk melanjutkan sesi yang gagal diunggah. Dalam perintah ini, 20150610xxxxxxxxxxx70a002ec60c menunjukkan ID sesi yang gagal diunggah.
tunnel resume 20150610xxxxxxxxxxx70a002ec60c -force; start resume 20150610xxxxxxxxxxx70a002ec60c Upload session: 20150610xxxxxxxxxxx70a002ec60c Start upload:d:\data.txt Resume 1 blocks 2015-06-10 16:46:42 upload block: '1' 2015-06-10 16:46:42 upload block complete, blockid=1 upload complete, average speed is 0 KB/s OK
Download
-
Deskripsi
Mengunduh data tabel MaxCompute atau hasil eksekusi instans tertentu ke direktori lokal.
Anda harus memiliki izin Download sebelum menggunakan Tunnel untuk mengunduh data. Jika Anda tidak memiliki izin tersebut, hubungi pemilik proyek atau pengguna yang ditugaskan sebagai role Super_Administrator untuk melakukan otorisasi. Untuk informasi lebih lanjut tentang cara memberikan izin Download, lihat Kontrol akses berbasis kebijakan.
-
Sintaks
odps@ project_name>tunnel help download; usage: tunnel download [options] <[project.]table[/partition]> <path> download data to local file -c,-charset <ARG> specify file charset, default ignore. set ignore to download raw data -cf,-csv-format <ARG> use csv format (true|false), default false. When uploading in csv format, file splitting not supported. -ci,-columns-index <ARG> specify the columns index(starts from 0) to download, use comma to split each index -cn,-columns-name <ARG> specify the columns name to download, use comma to split each name -cp,-compress <ARG> compress, default true -dfp,-date-format-pattern <ARG> specify date format pattern, default yyyy-MM-dd HH:mm:ss -e,-exponential <ARG> When download double values, use exponential express if necessary. Otherwise at most 20 digits will be reserved. Default false -fd,-field-delimiter <ARG> specify field delimiter, support unicode, eg \u0001. default "," -h,-header <ARG> if local file should have table header, default false -limit <ARG> specify the number of records to download -ni,-null-indicator <ARG> specify null indicator string, default ""(empty string) -rd,-record-delimiter <ARG> specify record delimiter, support unicode, eg \u0001. default "\r\n" -sd,-session-dir <ARG> set session dir, default D:\software\odpscmd_public\plugins\dship -t,-threads <ARG> number of threads, default 1 -te,-tunnel_endpoint <ARG> tunnel endpoint -time,-time <ARG> keep track of upload/download elapsed time or not. Default false -tz,-time-zone <ARG> time zone, default local timezone: Asia/Shanghai usage: tunnel download [options] instance://<[project/]instance_id> <path> download instance result to local file -c,-charset <ARG> specify file charset, default ignore. set ignore to download raw data -cf,-csv-format <ARG> use csv format (true|false), default false. When uploading in csv format, file splitting not supported. -ci,-columns-index <ARG> specify the columns index(starts from 0) to download, use comma to split each index -cn,-columns-name <ARG> specify the columns name to download, use comma to split each name -cp,-compress <ARG> compress, default true -dfp,-date-format-pattern <ARG> specify date format pattern, default yyyy-MM-dd HH:mm:ss -e,-exponential <ARG> When download double values, use exponential express if necessary. Otherwise at most 20 digits will be reserved. Default false -fd,-field-delimiter <ARG> specify field delimiter, support unicode, eg \u0001. default "," -h,-header <ARG> if local file should have table header, default false -limit <ARG> specify the number of records to download -ni,-null-indicator <ARG> specify null indicator string, default ""(empty string) -rd,-record-delimiter <ARG> specify record delimiter, support unicode, eg \u0001. default "\r\n" -sd,-session-dir <ARG> set session dir, default D:\software\odpscmd_public\plugins\dshi -t,-threads <ARG> number of threads, default 1 -te,-tunnel_endpoint <ARG> tunnel endpoint -time,-time <ARG> keep track of upload/download elapsed time or not. Default false -tz,-time-zone <ARG> time zone, default local timezone: Asia/Shanghai Contoh: tunnel download test_project.test_table/p1="b1",p2="b2" log.txt // Unduh data dari tabel tertentu. tunnel download instance://test_project/test_instance log.txt // Unduh hasil eksekusi instans tertentu. -
Parameter
-
Parameter yang diperlukan
-
path
Menentukan jalur tempat file data yang diunduh disimpan.
Anda dapat menyimpan file data di direktori
binklien MaxCompute. Dalam hal ini, atur path ke nilai dalam formatNama file.Ekstensi file. Anda juga dapat menyimpan file data di direktori lain, seperti folder test di drive D. Dalam kasus ini, atur path ke nilai dalam formatD:\test\Nama file.Ekstensi file. -
[project.]table[/partition]
Menentukan nama tabel yang ingin Anda unduh. Untuk tabel partisi, Anda harus menentukan partisi level terendah. Jika tabel tersebut tidak termasuk dalam proyek saat ini, Anda harus menentukan proyek tempat tabel tersebut berada.
-
[project/]instance_id
Menentukan ID instans. Anda dapat mengunduh hasil eksekusi instans tertentu.
-
-
Parameter opsional
-
-c
Menentukan format encoding file data lokal. Parameter ini diabaikan secara default.
-
-cf
Menentukan apakah file tersebut merupakan file CSV. Nilai default: False.
CatatanHanya file TXT dan CSV yang dapat diunduh. File TXT diunduh secara default. Jika Anda ingin mengunduh file CSV, Anda harus mengatur parameter
-cfke true dan mengunduh versi terbaru klien MaxCompute. Setelah Anda mengatur parameter-cfke true, pemisah file hanya boleh berupa koma (,). Dalam hal ini, pemisah yang ditentukan oleh parameter -fd tidak berlaku. -
-ci
Menentukan indeks kolom yang ingin Anda unduh. Indeks kolom dimulai dari 0. Pisahkan indeks kolom dengan koma (,).
-
-cn
Menentukan nama kolom yang ingin Anda unduh. Pisahkan nama kolom dengan koma (,).
-
-cp
Menentukan apakah file lokal dikompresi sebelum diunduh untuk mengurangi lalu lintas jaringan. Nilai default: True.
-
-dfp
Menentukan format data DATETIME. Format default adalah yyyy-MM-dd HH:mm:ss.
-
-e
Menentukan apakah akan merepresentasikan data tipe DOUBLE yang ingin Anda unduh menggunakan fungsi eksponensial. Jika tidak direpresentasikan dengan fungsi eksponensial, pertahankan maksimal 20 digit. Nilai default: False.
-
-fd
Menentukan pemisah kolom untuk file data lokal. Nilai default: koma (,).
-
-h
Menentukan apakah file data memiliki header tabel. Nilai default: False, yang berarti file data tidak memiliki header tabel. Jika Anda mengatur parameter ini ke True, file data akan memiliki header tabel.
Catatan-h=truedanthreads>1tidak dapat digunakan bersamaan. threads>1 menunjukkan bahwa jumlah thread lebih dari 1. -
-limit
Menentukan jumlah baris yang akan diunduh.
-
-ni
Menentukan indikator data NULL. Nilai default: string kosong.
-
-rd
Menentukan pemisah baris yang digunakan dalam file data lokal. Nilai default:
\r\n. -
-sd
Menentukan direktori sesi.
-
-t
Menentukan jumlah thread. Nilai default: 1.
-
-te
Menentukan titik akhir Tunnel.
-
-time
Menentukan apakah waktu unduh dilacak. Nilai default: False.
-
-tz
Menentukan zona waktu. Zona waktu lokal digunakan secara default, seperti Asia/Shanghai.
-
-
Purge
-
Deskripsi
Membersihkan file log tunnel dari direktori sesi.
-
Sintaks
tunnel purge [n]; -
Parameter
n: periode retensi dalam hari untuk log historis tunnel. Default: 3.
Upsert
-
Deskripsi
Menggunakan semantik UPDATE dan INSERT untuk menulis data. Jika tidak ditemukan data yang cocok di tabel tujuan, data baru dimasukkan ke dalam tabel. Jika data yang akan ditulis sudah ada, data tersebut diperbarui di dalam tabel.
Catatan-
Jika Anda menggunakan klien MaxCompute (odpscmd) untuk mengeksekusi pernyataan UPSERT, pastikan versi klien minimal V0.47.
-
Hanya tabel Transaction Table 2.0 yang mendukung penulisan data menggunakan pernyataan UPSERT.
-
-
Sintaks
tunnel upsert[options] <path> <[project.]table[/partition]>Format:
Opsi yang tersedia: -acp,-auto-create-partition <ARG> auto create target partition if not exists, default false -bs,-block-size <ARG> block size in MiB, default 100 -c,-charset <ARG> specify file charset, default ignore. set ignore to download raw data -cf,-csv-format <ARG> use csv format (true|false), default false. When uploading in csv format, file splitting not supported. -cp,-compress <ARG> compress, default true -dbr,-discard-bad-records <ARG> specify discard bad records action(true|false), default false -dfp,-date-format-pattern <ARG> specify date format pattern, default yyyy-MM-dd HH:mm:ss -fd,-field-delimiter <ARG> specify field delimiter, support unicode, eg \u0001. default "," -h,-header <ARG> if local file should have table header, default false -mbr,-max-bad-records <ARG> max bad records, default 1000 -ni,-null-indicator <ARG> specify null indicator string, default ""(empty string) -qn,-quota_name <ARG> quota name -rd,-record-delimiter <ARG> specify record delimiter, support unicode, eg \u0001. default "\n" -sd,-session-dir <ARG> set session dir, default /Users/dingxin/Documents/debug/plugin s/dship -ss,-strict-schema <ARG> specify strict schema mode. If false, extra data will be abandoned and insufficient field will be filled with null. Default true -te,-tunnel_endpoint <ARG> tunnel endpoint -time,-time <ARG> keep track of upload/download elapsed time or not. Default false -tz,-time-zone <ARG> time zone, default local timezone: Asia/Shanghai Contoh: tunnel upsert log.txt test_project.test_table/p1="b1",p2="b2" -
Parameter
-
Parameter yang diperlukan
-
path
Menentukan jalur dan nama file data yang ingin Anda unggah.
Anda dapat menyimpan file data di direktori
binklien MaxCompute. Dalam hal ini, atur parameter path ke nilai dalam formatNama file.Ekstensi file. Anda juga dapat menyimpan file data di direktori lain, seperti folder test di drive D. Dalam kasus ini, atur parameter path ke nilai dalam formatD:\test\Nama file.Ekstensi file.CatatanDi macOS, nilai parameter path hanya boleh berupa jalur mutlak. Misalnya, jika file data disimpan di direktori
binklien MaxCompute, atur parameter path ke nilai dalam format/Users/username/MaxCompute/bin/nama file.ekstensi file. -
[project.]table[/partition]
Menentukan nama tabel tempat Anda ingin mengunggah data. Untuk tabel partisi, Anda harus menentukan partisi level terendah. Jika tabel tersebut tidak termasuk dalam proyek saat ini, Anda harus menentukan proyek tempat tabel tersebut berada.
-
-
Parameter opsional
-
-acp
Menentukan partisi tempat Anda ingin mengunggah data. Jika partisi yang ditentukan tidak ada, partisi akan dibuat secara otomatis. Nilai default: False.
-
-bs
Menentukan ukuran blok data yang diunggah oleh Tunnel setiap kali. Nilai default: 100 MiB (1 MiB = 1024 × 1024 byte).
-
-c
Menentukan format encoding file data. Secara default, parameter ini tidak ditentukan, dan data mentah diunduh.
-
-cf
Menentukan apakah file tersebut merupakan file CSV. Nilai default: False.
CatatanPernyataan UPSERT hanya dapat digunakan untuk mengunggah file TXT dan CSV. File TXT diunggah secara default. Jika Anda ingin mengunggah file CSV, Anda harus mengonfigurasi parameter
-cfdan mengunduh versi terbaru klien MaxCompute. -
-cp
Menentukan apakah file data lokal dikompresi sebelum diunggah ke MaxCompute untuk mengurangi lalu lintas jaringan. Nilai default: True.
-
-dbr
Menentukan apakah akan mengabaikan data kotor, seperti kolom tambahan, kolom yang hilang, atau tipe data kolom yang tidak cocok. Nilai default: False.
-
True: mengabaikan semua data yang tidak sesuai dengan definisi tabel. Secara default, 1.000 catatan data diabaikan. Untuk mengubah jumlah catatan data yang ingin Anda abaikan, tentukan parameter -mbr.
-
False: Kesalahan dikembalikan setelah data kotor terdeteksi. Hal ini memastikan bahwa data mentah di tabel tempat Anda ingin mengunggah data tidak terkontaminasi.
-
-
-dfp
Menentukan format data DATETIME. Format default adalah
yyyy-MM-dd HH:mm:ss. Jika Anda ingin menentukan data DATETIME yang akurat hingga milidetik, gunakan format yyyy-MM-dd HH:mm:ss.SSS. Untuk informasi lebih lanjut tentang tipe data DATETIME, lihat Panduan versi tipe data. -
-fd
Menentukan pemisah kolom yang digunakan dalam file data lokal. Nilai default: koma (,).
-
-h
Menentukan apakah file data yang ingin Anda unggah memiliki header tabel. Nilai default: False, yang berarti file data tidak boleh berisi header tabel. Jika Anda mengatur parameter ini ke True, file data dapat berisi header tabel, dan sistem akan melewati header tersebut serta mengunggah data mulai dari baris kedua.
-
-mbr
Menentukan jumlah maksimum catatan data kotor yang diizinkan. Parameter ini harus digunakan bersama dengan parameter -dbr dan hanya berlaku ketika parameter -dbr diatur ke True. Jika jumlah catatan data kotor melebihi nilai yang ditentukan, pengunggahan dihentikan. Nilai default: 1.000.
-
-ni
Menentukan indikator data NULL. Nilai default: string kosong.
-
-qn: nama kuota Tunnel yang digunakan untuk mengakses MaxCompute.
Anda dapat memperoleh nama kuota dari Konsol MaxCompute. Di konsol, pilih wilayah di bilah navigasi atas, lalu pilih Workspace > Quotas di panel navigasi kiri. Untuk informasi lebih lanjut, lihat Mengelola kuota.
-
-rd
Menentukan pemisah baris yang digunakan dalam file data lokal. Nilai default:
\r\n. -
-sd
Menentukan direktori sesi.
-
-ss
Menentukan mode skema ketat. Nilai default: True. Jika parameter ini diatur ke False, data yang tidak perlu dibuang dan bidang yang tidak ditentukan diisi dengan NULL.
-
-te
Menentukan titik akhir Tunnel. Untuk informasi lebih lanjut tentang titik akhir, lihat Titik akhir.
-
-time
Menentukan apakah waktu unggah dilacak. Nilai default: False.
-
-tz
Menentukan zona waktu. Nilai default: zona waktu lokal, seperti Asia/Shanghai. Untuk informasi lebih lanjut tentang zona waktu, lihat Daftar zona waktu.
-
-
Perhatian
-
Tabel berikut menjelaskan tipe data.
Tipe data
Deskripsi
STRING
String yang mendukung panjang maksimum 8 MB.
BOOLEAN
Untuk unggahan file, nilainya dapat berupa True, False, 0, atau 1. Untuk unduhan file, nilainya dapat berupa True atau False. Nilai tidak peka huruf besar/kecil.
BIGINT
Nilai valid: [-9223372036854775807,9223372036854775807].
DOUBLE
-
Bilangan 16 digit.
-
Data tipe ini dinyatakan dalam notasi ilmiah selama unggahan data.
-
Data tipe ini dinyatakan dalam angka selama unduhan data.
-
Nilai maksimum: 1.7976931348623157E308.
-
Nilai minimum: 4.9E-324.
-
Positif tak hingga: Infinity.
-
Negatif tak hingga: -Infinity.
DATETIME
Secara default, data tipe DATETIME dapat diunggah saat zona waktu adalah GMT+8. Anda dapat menggunakan baris perintah untuk menentukan pola format tipe ini. Jika Anda mengunggah data tipe ini, Anda harus menentukan format waktu. Untuk informasi lebih lanjut, lihat Panduan versi tipe data.
"yyyyMMddHHmmss": Misalnya, "20140209101000" digunakan. "yyyy-MM-dd HH:mm:ss" (format default): Misalnya, "2014-02-09 10:10:00" digunakan. "MM/dd/yyyy": Misalnya, "09/01/2014" digunakan.Contoh:
tunnel upload log.txt test_table -dfp "yyyy-MM-dd HH:mm:ss" -
-
Null: Setiap tipe data dapat memiliki nilai null.
-
Secara default, string kosong menunjukkan nilai null.
-
Parameter -null-indicator digunakan untuk menentukan string null.
tunnel upload log.txt test_table -ni "NULL"
-
-
Format encoding: Anda dapat menentukan format encoding file. Nilai default: UTF-8.
tunnel upload log.txt test_table -c "gbk" -
Pemisah: Perintah Tunnel mendukung pemisah file kustom. -record-delimiter digunakan untuk menyesuaikan pemisah baris, dan -field-delimiter digunakan untuk menyesuaikan pemisah kolom.
-
Pemisah baris atau kolom dapat berisi beberapa karakter.
-
Pemisah kolom tidak boleh berisi pemisah baris.
-
Hanya pemisah karakter escape berikut yang didukung di baris perintah: \r, \n, dan \t.
tunnel upload log.txt test_table -fd "||" -rd "\r\n" -