Untuk mentransfer sejumlah besar data antara lingkungan on-premises dan MaxCompute, Anda dapat menggunakan perintah Tunnel yang disediakan oleh MaxCompute guna mengupload dan mendownload 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 mengupload dan mendownload data.
Deskripsi perintah
-
Sintaks
tunnel <subcommand> [options] [args]Opsi
upload (u) download (d) resume (r) show (s) purge (p) help (h) upsert(us) -
Parameter
-
upload: mengupload data ke tabel MaxCompute. Anda hanya dapat mengupload file ke satu tabel atau satu partition dalam sebuah tabel setiap kali. Untuk tabel partisi, Anda harus menentukan partisi tujuan upload data. Untuk tabel partisi multi-level, Anda harus menentukan partisi level terendah.
-- Upload data dari log.txt di direktori bin klien MaxCompute ke partisi p1="b1",p2="b2" dari test_table di test_project. tunnel upload log.txt test_project.test_table/p1="b1",p2="b2"; -- Upload data dari log.txt ke tabel test_table. Parameter --scan=true memvalidasi data di log.txt terhadap skema tabel. Jika data tidak sesuai, error dilaporkan dan upload dibatalkan. tunnel upload log.txt test_table --scan=true; -- Upload data dari log.txt, yang berada di path berbeda, ke partisi p1="b1",p2="b2" dari test_table di test_project. tunnel upload D:\test\log.txt test_project.test_table/p1="b1",p2="b2"; -
download: mendownload data dari tabel MaxCompute. Anda hanya dapat mendownload data dari satu tabel atau partisi ke satu file lokal dalam satu waktu. Untuk tabel partisi, Anda harus menentukan partisi sumber download data. Untuk tabel partisi multi-level, Anda harus menentukan partisi level terendah.
-- Download data dari partisi p1="b1",p2="b2" dari test_project.test_table ke file lokal test_table.txt. tunnel download test_project.test_table/p1="b1",p2="b2" test_table.txt; -- Download data dari partisi p1="b1",p2="b2" dari test_project.test_table ke file di path lokal berbeda. tunnel download test_project.test_table/p1="b1",p2="b2" D:\test\test_table.txt; resume: melanjutkan transfer file atau direktori yang terputus akibat gangguan jaringan atau Tunnel. Perintah ini hanya berlaku untuk melanjutkan upload data. Satu proses download atau upload disebut sebagai session. Anda harus menentukan session ID dalam perintah resume sebelum menjalankannya.
tunnel resume;show: menampilkan informasi tugas historis.
-- Tampilkan perintah yang digunakan dalam lima upload atau download data terakhir. tunnel show history -n 5; -- Tampilkan log dari upload atau download data terakhir. tunnel show log;-
purge: menghapus file log Tunnel dari direktori session. Secara default, log yang berumur lebih dari tiga hari akan dihapus.
-- Hapus 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.
-- Upload data dalam file log.txt ke partisi p1="b1" dan p2="b2" dari tabel test_table yang memiliki dua level partisi di 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
Mengupload 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 kasus 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> buat 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. set ignore untuk mendownload data mentah -cf,-csv-format <ARG> gunakan format csv (true|false), default false. Saat mengupload 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 kolom, 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 baris, mendukung unicode, misalnya \u0001. default "\r\n" -s,-scan <ARG> tentukan aksi scan file (true|false|only), default true -sd,-session-dir <ARG> atur direktori session, 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> tunnel endpoint -time,-time <ARG> lacak waktu upload/download yang berlalu 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 path dan nama file data yang ingin Anda upload.
Anda dapat menentukan path file dengan dua cara: Jika file berada di direktori
binklien MaxCompute, atur parameter path menjadifilename.extension. Jika file berada di direktori lain, sepertiD:\test, atur parameter path ke jalur mutlak, misalnyaD:\test\filename.extension. Tool baris perintah Tunnel tidak memiliki batasan ukuran file dan mendukung penguploadan file besar. Untuk mengoptimalkan upload file besar, Anda dapat menggunakan parameter -bs untuk menyesuaikan ukuran setiap blok data. Nilai default adalah 100 MiB.CatatanPada macOS, nilai path harus berupa jalur mutlak. Misalnya, jika file Anda berada di direktori
binklien MaxCompute, atur parameter path ke jalur mutlak, seperti/Users/username/MaxCompute/bin/filename.extension. [project.]table[/partition]
Menentukan nama tabel tujuan upload data. Anda harus menentukan partisi level terendah untuk tabel partisi. Jika tabel tidak termasuk dalam proyek saat ini, Anda harus menentukan proyek tempat tabel tersebut berada.
-
-
Parameter opsional
-acp
Menentukan partisi tujuan upload data. Jika partisi yang ditentukan tidak ada, partisi akan dibuat secara otomatis. Nilai default: False.
-
-bs
Menentukan ukuran blok data yang diupload 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 didownload.
-cf
Menentukan apakah file merupakan file CSV. Nilai default: False.
CatatanPerintah Upload hanya dapat digunakan untuk mengupload file TXT dan CSV. File TXT diupload secara default. Jika Anda ingin mengupload file CSV, Anda harus mengonfigurasi parameter
-cfdan mendownload versi terbaru klien MaxCompute.-cp
Menentukan apakah file data lokal dikompresi sebelum diupload ke MaxCompute untuk mengurangi lalu lintas jaringan. Nilai default: True.
-dbr
Menentukan apakah data kotor, seperti kolom tambahan, kolom yang hilang, atau tipe data kolom yang tidak sesuai, diabaikan. 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 diabaikan, tentukan parameter -mbr.
False: Error dikembalikan setelah data kotor terdeteksi. Hal ini memastikan bahwa data mentah di tabel tujuan upload 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, format yyyy-MM-dd HH:mm:ss.SSS dapat digunakan. Untuk informasi lebih lanjut tentang tipe data DATETIME, lihat Edisi tipe data.-fd
Menentukan pemisah kolom yang digunakan dalam file data lokal. Nilai default: koma (,).
-h
Menentukan apakah file data yang ingin Anda upload memiliki header tabel. Nilai default: False. Nilai ini menunjukkan bahwa file data tidak boleh berisi header tabel. Jika Anda mengatur parameter ini ke True, file data dapat berisi header tabel. Dalam hal ini, sistem melewati header tabel dan mengupload data mulai dari baris kedua.
-mbr
Menentukan jumlah maksimum catatan data kotor yang diizinkan. Parameter ini harus digunakan bersama parameter -dbr dan hanya berlaku ketika parameter -dbr diatur ke True. Menentukan jumlah maksimum catatan data kotor. Jika jumlah catatan data kotor melebihi nilai yang ditentukan, upload dihentikan. Nilai default: 1.000.
-ni
Menentukan indikator data NULL. Nilai default: string kosong.
-
-ow
Menentukan apakah data yang diupload menimpa tabel atau partisi. Nilai default: False. Nilai ini menunjukkan bahwa data diupload dalam mode append. Kode berikut menunjukkan contohnya.
-- Buat 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 D:\data.txt dengan konten berikut: shopx,x_id,100 shopy,y_id,200 -- Upload 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 konten data.txt menjadi sebagai 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 file data lokal discan. Nilai default: True.
True: Sistem menscan data dan mulai mengimpor data hanya jika data dalam format yang benar.
False: Sistem mengimpor data tanpa scanning.
Only: Sistem hanya menscan data lokal. Data tidak diimpor setelah scan.
-sd
Menentukan direktori session.
-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 upload dilacak. Nilai default: False.
-tz
Menentukan zona waktu. Nilai default: zona waktu lokal, seperti Asia/Shanghai. Untuk informasi lebih lanjut tentang zona waktu, lihat Zona waktu.
-
Show
-
Menampilkan catatan historis.
-
Sintaks
tunnel show history [-n <number>];-n <number>: Menentukan jumlah entri 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 upload atau download 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 dari upload atau download data terakhir.
tunnel show log;
Resume
Deskripsi
Melanjutkan eksekusi operasi historis. Hanya upload data yang dapat dilanjutkan.
-
Sintaks
tunnel resume <session_id> [-force]; Parameter
session_id
Menentukan ID session yang upload-nya gagal. Parameter ini wajib diisi.
-f
Menentukan apakah eksekusi operasi historis dilanjutkan secara paksa. Parameter ini diabaikan secara default.
-
Contoh
Jalankan perintah berikut untuk melanjutkan session yang upload-nya gagal. Dalam perintah ini, 20150610xxxxxxxxxxx70a002ec60c menunjukkan ID session yang upload-nya gagal.
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
Mendownload data tabel MaxCompute atau hasil eksekusi instans tertentu ke direktori lokal.
Anda harus diberikan izin Download sebelum menggunakan Tunnel untuk mendownload data. Jika Anda tidak memiliki izin Download, Anda harus menghubungi pemilik proyek atau pengguna yang ditugaskan sebagai role Super_Administrator untuk menyelesaikan 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 Example: tunnel download test_project.test_table/p1="b1",p2="b2" log.txt // Download data from a specific table. tunnel download instance://test_project/test_instance log.txt // Download the execution result of a specific instance.-
Parameter
-
Parameter yang diperlukan
-
path
Menentukan path tempat file data yang didownload disimpan.
Ada dua opsi untuk path penyimpanan file data. Anda dapat mendownload file langsung ke direktori
binklien MaxCompute. Dalam hal ini, atur parameter path menjadifilename.extension. Atau, Anda dapat mendownload file ke path berbeda, seperti folder test di drive D. Dalam hal ini, atur parameter path menjadiD:\test\filename.extension. [project.]table[/partition]
Menentukan nama tabel yang ingin Anda download. Anda harus menentukan partisi level terendah untuk tabel partisi. Jika tabel tidak termasuk dalam proyek saat ini, Anda harus menentukan proyek tempat tabel tersebut berada.
[project/]instance_id
Menentukan ID instans. Anda dapat mendownload hasil eksekusi instans tertentu.
-
Parameter opsional
-c
Menentukan format encoding file data lokal. Parameter ini diabaikan secara default.
-cf
Menentukan apakah file merupakan file CSV. Nilai default: False.
CatatanHanya file TXT dan CSV yang dapat didownload. File TXT didownload secara default. Jika Anda ingin mendownload file CSV, Anda harus mengatur parameter
-cfke true dan mendownload versi terbaru klien MaxCompute. Setelah Anda mengatur parameter-cfke true, pemisah file hanya bisa berupa koma (,). Dalam hal ini, pemisah yang ditentukan oleh parameter -fd tidak berlaku.-ci
Menentukan indeks kolom yang ingin Anda download. Indeks kolom dimulai dari 0. Pisahkan indeks kolom dengan koma (,).
-cn
Menentukan nama kolom yang ingin Anda download. Pisahkan nama kolom dengan koma (,).
-cp
Menentukan apakah file lokal dikompresi sebelum didownload 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 data tipe DOUBLE yang ingin Anda download direpresentasikan menggunakan fungsi eksponensial. Jika data tidak direpresentasikan dengan fungsi eksponensial, maksimal 20 digit dipertahankan. 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. Nilai ini menunjukkan bahwa file data tidak memiliki header tabel. Jika Anda mengatur parameter ini ke True, file data memiliki header tabel.
Catatan-h=truedanthreads>1tidak dapat digunakan bersamaan. threads>1 menunjukkan bahwa jumlah thread lebih dari 1.-limit
Menentukan jumlah baris yang didownload.
-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 session.
-t
Menentukan jumlah thread. Nilai default: 1.
-te
Menentukan titik akhir Tunnel.
-time
Menentukan apakah waktu download dilacak. Nilai default: False.
-tz
Menentukan zona waktu. Zona waktu lokal digunakan secara default, seperti Asia/Shanghai.
-
Purge
-
Deskripsi
Menghapus file log tunnel dari direktori session.
-
Sintaks
tunnel purge [n]; -
Parameter
n: Menghapus file log tunnel yang lebih tua dari jumlah hari yang ditentukan. Nilai default adalah 3.
Upsert
-
Deskripsi
Semantik UPDATE dan INSERT digunakan 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-
Untuk menjalankan perintah
Upsertmenggunakan klien MaxCompute (odpscmd), Anda harus menggunakan versi 0.47 atau lebih baru. 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> buat 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. set ignore untuk mendownload data mentah -cf,-csv-format <ARG> gunakan format csv (true|false), default false. Saat mengupload 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 kolom, dukung 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) -qn,-quota_name <ARG> nama kuota -rd,-record-delimiter <ARG> tentukan pemisah baris, dukung unicode, misalnya \u0001. default "\n" -sd,-session-dir <ARG> atur direktori session, default /Users/dingxin/Documents/debug/plugin s/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 -te,-tunnel_endpoint <ARG> tunnel endpoint -time,-time <ARG> lacak waktu upload/download yang berlalu atau tidak. Default false -tz,-time-zone <ARG> zona waktu, default zona waktu lokal: Asia/Shanghai Contoh: tunnel upsert log.txt test_project.test_table/p1="b1",p2="b2"-
Parameter
-
Parameter yang diperlukan
-
path
Menentukan path dan nama file data yang ingin Anda upload.
Anda dapat menentukan path file dengan dua cara: Jika file berada di direktori
binklien MaxCompute, atur parameter path menjadifilename.extension. Jika file berada di direktori lain, sepertiD:\test, atur parameter path ke jalur mutlaknya, sepertiD:\test\filename.extension. Perintah Tunnel tidak memiliki batasan ukuran file dan mendukung penguploadan file yang lebih besar dari 10 MB. Untuk mengoptimalkan upload file besar, Anda dapat menggunakan parameter -bs untuk menyesuaikan ukuran setiap blok data (nilai default adalah 100 MiB).CatatanPada macOS, nilai parameter path hanya bisa berupa jalur mutlak. Misalnya, jika file data disimpan di direktori
binklien MaxCompute, Anda harus mengatur parameter path ke nilai dalam formatD:\MaxCompute\bin \File name.File name extension. [project.]table[/partition]
Menentukan nama tabel tujuan upload data. Anda harus menentukan partisi level terendah untuk tabel partisi. Jika tabel tidak termasuk dalam proyek saat ini, Anda harus menentukan proyek tempat tabel tersebut berada.
-
-
Parameter opsional
-acp
Menentukan partisi tujuan upload data. Jika partisi yang ditentukan tidak ada, partisi akan dibuat secara otomatis. Nilai default: False.
-
-bs
Menentukan ukuran blok data yang diupload 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 didownload.
-cf
Menentukan apakah file merupakan file CSV. Nilai default: False.
CatatanPernyataan UPSERT hanya dapat digunakan untuk mengupload file TXT dan CSV. File TXT diupload secara default. Jika Anda ingin mengupload file CSV, Anda harus mengonfigurasi parameter
-cfdan mendownload versi terbaru klien MaxCompute.-cp
Menentukan apakah file data lokal dikompresi sebelum diupload ke MaxCompute untuk mengurangi lalu lintas jaringan. Nilai default: True.
-dbr
Menentukan apakah data kotor, seperti kolom tambahan, kolom yang hilang, atau tipe data kolom yang tidak sesuai, diabaikan. 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 diabaikan, tentukan parameter -mbr.
False: Error dikembalikan setelah data kotor terdeteksi. Hal ini memastikan bahwa data mentah di tabel tujuan upload 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, format yyyy-MM-dd HH:mm:ss.SSS dapat digunakan. Untuk informasi lebih lanjut tentang tipe data DATETIME, lihat Edisi tipe data.-fd
Menentukan pemisah kolom yang digunakan dalam file data lokal. Nilai default: koma (,).
-h
Menentukan apakah file data yang ingin Anda upload memiliki header tabel. Nilai default: False. Nilai ini menunjukkan bahwa file data tidak boleh berisi header tabel. Jika Anda mengatur parameter ini ke True, file data dapat berisi header tabel. Dalam hal ini, sistem melewati header tabel dan mengupload data mulai dari baris kedua.
-mbr
Menentukan jumlah maksimum catatan data kotor yang diizinkan. Parameter ini harus digunakan bersama parameter -dbr dan hanya berlaku ketika parameter -dbr diatur ke True. Menentukan jumlah maksimum catatan data kotor. Jika jumlah catatan data kotor melebihi nilai yang ditentukan, upload 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 login ke Konsol MaxCompute, pilih wilayah, lalu pilih Workspace > Quotas di panel navigasi kiri untuk melihat nama kuota. Untuk informasi lebih lanjut, lihat Sumber daya komputasi - Manajemen kuota.
-rd
Menentukan pemisah baris yang digunakan dalam file data lokal. Nilai default:
\r\n.-sd
Menentukan direktori session.
-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 upload dilacak. Nilai default: False.
-tz
Menentukan zona waktu. Nilai default: zona waktu lokal, seperti Asia/Shanghai. Untuk informasi lebih lanjut tentang zona waktu, lihat Zona waktu.
-
Perhatian
-
Tabel berikut menjelaskan tipe data.
Tipe data
Deskripsi
STRING
String yang mendukung panjang maksimum 8 MB.
BOOLEAN
Untuk upload file, nilainya dapat berupa True, False, 0, atau 1. Untuk download file, nilainya dapat berupa True atau False. Nilai tidak case-sensitive.
BIGINT
Nilai valid: [-9223372036854775807,9223372036854775807].
DOUBLE
Bilangan 16 digit.
Data tipe ini dinyatakan dalam notasi ilmiah selama upload data.
Data tipe ini dinyatakan dalam angka selama download data.
Nilai maksimum: 1.7976931348623157E308.
Nilai minimum: 4.9E-324.
Infinity positif: Infinity.
Infinity negatif: -Infinity.
DATETIME
Secara default, data tipe DATETIME dapat diupload saat zona waktu adalah GMT+8. Anda dapat menggunakan baris perintah untuk menentukan pola format tipe ini. Jika Anda mengupload data tipe ini, Anda harus menentukan format waktu. Untuk informasi lebih lanjut, lihat Edisi tipe data.
"yyyyMMddHHmmss": Contohnya, "20140209101000" digunakan. "yyyy-MM-dd HH:mm:ss" (format default): Contohnya, "2014-02-09 10:10:00" digunakan. "MM/dd/yyyy": Contohnya, "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. Parameter -record-delimiter digunakan untuk menyesuaikan pemisah baris, dan parameter -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"