Jika Anda ingin mentransfer sejumlah besar data antara lingkungan lokal dan MaxCompute, gunakan perintah Tunnel yang disediakan oleh MaxCompute untuk mengunggah dan mengunduh data. Perintah ini mendukung transfer data secara batch atau inkremental, meningkatkan efisiensi dan keamanan selama proses transfer skala besar. Topik ini menjelaskan cara menggunakan perintah Tunnel untuk mengunggah dan mengunduh data.
Deskripsi Perintah
Sintaksis
tunnel <subcommand> [options] [args]Opsi
Subcommand yang tersedia: upload (u) download (d) resume (r) show (s) purge (p) help (h) upsert(us)Parameter
upload: Mengunggah data ke tabel MaxCompute. Anda hanya dapat mengunggah file ke satu tabel atau satu partisi dalam sebuah tabel setiap kali. Untuk tabel berpartisi, tentukan partisi tempat Anda ingin mengunggah data. Untuk tabel dengan partisi multi-level, tentukan partisi tingkat terendah.
-- Unggah data dalam file log.txt ke partisi p1="b1" dan p2="b2" dari tabel test_table yang memiliki dua tingkat partisi di proyek test_project. File log.txt disimpan di direktori bin klien MaxCompute. tunnel upload log.txt test_project.test_table/p1="b1",p2="b2"; -- Unggah data dalam file log.txt ke tabel test_table. Parameter scan digunakan untuk memeriksa apakah data dalam file log.txt sesuai dengan skema tabel test_table. Jika data tidak sesuai, sistem akan melaporkan kesalahan dan menghentikan pengunggahan. tunnel upload log.txt test_table --scan=true; -- Unggah data dalam file log.txt dari direktori lain ke partisi p1="b1" dan p2="b2" dari tabel test_table yang memiliki dua tingkat partisi di proyek test_project. tunnel upload D:\test\log.txt test_project.test_table/p1="b1",p2="b2";download: Mengunduh data dari tabel MaxCompute. Anda dapat mengunduh data dari satu tabel atau partisi ke satu file lokal pada satu waktu. Untuk tabel berpartisi, tentukan partisi tempat Anda ingin mengunduh data. Untuk tabel dengan partisi multi-level, tentukan partisi tingkat terendah.
-- Unduh data dari tabel test_project.test_table, yang memiliki dua tingkat partisi, ke file test_table.txt di direktori bin klien MaxCompute. tunnel download test_project.test_table/p1="b1",p2="b2" test_table.txt; -- Unduh data dari tabel test_project.test_table, yang memiliki dua tingkat partisi, ke file test_table.txt di direktori lain. tunnel download test_project.test_table/p1="b1",p2="b2" D:\test\test_table.txt;resume: Melanjutkan transfer file atau direktori yang terputus karena jaringan terputus atau masalah pada Tunnel. Anda hanya dapat melanjutkan pengunggahan data. Setiap pengunduhan atau pengunggahan data disebut sebagai sesi. Tentukan ID sesi dalam perintah resume sebelum menjalankan perintah ini.
tunnel resume;show: Menampilkan informasi tugas historis.
-- Tampilkan perintah yang digunakan dalam lima pengunggahan atau pengunduhan data terakhir. tunnel show history -n 5; -- Tampilkan log dari pengunggahan atau pengunduhan data terakhir. tunnel show log;purge: Membersihkan direktori sesi. Secara default, log dari tiga hari terakhir dibersihkan.
-- Bersihkan 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 ada data yang cocok ditemukan di tabel tujuan, data baru dimasukkan ke dalam tabel. Jika data yang akan ditulis sudah ada, data diperbarui di tabel.
-- Unggah data dalam file log.txt ke partisi p1="b1" dan p2="b2" dari tabel test_table yang memiliki dua tingkat 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
Mengunggah data lokal ke tabel MaxCompute dalam mode tambahan.
CatatanMode tambahan: Jika data yang ingin Anda impor sudah ada di tabel MaxCompute, data tersebut tidak akan ditimpa setelah Anda menjalankan perintah Upload. Dalam hal ini, baik data yang ada maupun data yang diimpor akan tetap ada di tabel MaxCompute.
Sintaksis
tunnel upload [options] <path> <[project.]table[/partition]>Format
Opsi yang tersedia: -acp,-auto-create-partition <ARG> buat partisi target secara otomatis jika tidak 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> kompres, default true -dbr,-discard-bad-records <ARG> tentukan tindakan membuang 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, contoh \u0001. default "," -h,-header <ARG> jika 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, contoh \u0001. default "\r\n" -s,-scan <ARG> tentukan tindakan 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 ekstra akan dibuang dan bidang yang tidak cukup akan diisi dengan null. Default true -t,-threads <ARG> jumlah thread, default 1 -te,-tunnel_endpoint <ARG> endpoint tunnel -time,-time <ARG> lacak waktu yang dihabiskan untuk unggah/unduh 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 wajib
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 nama file. Anda juga dapat menyimpan file data ke direktori lain, seperti folder test di drive D. Dalam hal ini, atur parameter path ke nilai dalam formatD:\test\Nama file.Ekstensi nama file.CatatanDi macOS, nilai parameter path hanya bisa berupa jalur absolut. Misalnya, jika file data disimpan di direktori
binklien MaxCompute, Anda harus menyetel parameter path ke nilai dalam format/Users/nama pengguna/MaxCompute/bin/nama file.ekstensi nama file.[project.]table[/partition]
Menentukan nama tabel tempat Anda ingin mengunggah data. Untuk tabel berpartisi, tentukan partisi tingkat terendah. Jika tabel tidak termasuk dalam proyek saat ini, tentukan 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 adalah file CSV. Nilai default: False.
CatatanPerintah Upload dapat digunakan untuk mengunggah hanya file TXT dan CSV. File TXT diunggah secara default. Jika Anda ingin mengunggah file CSV, konfigurasikan parameter
-cfdan unduh versi terbaru Klien MaxCompute.-cp
Menentukan apakah akan mengompres file data lokal sebelum mengunggahnya ke MaxCompute untuk mengurangi lalu lintas jaringan. Nilai default: True.
-dbr
Menentukan apakah akan mengabaikan data kotor, seperti kolom tambahan, kolom yang hilang, atau jenis data kolom yang tidak cocok. Nilai default: False.
True: Mengabaikan semua data yang tidak sesuai dengan definisi tabel. Secara default, 1000 catatan data diabaikan. Untuk mengubah jumlah catatan data yang ingin Anda abaikan, tentukan parameter -mbr.
False: Kesalahan dikembalikan setelah data kotor terdeteksi. 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, 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 unggah memiliki header tabel. Nilai default: False. Nilai ini menunjukkan bahwa file data tidak boleh berisi header tabel. Jika Anda menyetel parameter ini ke True, file data dapat berisi header tabel. Dalam hal ini, sistem melewati header tabel dan 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 valid ketika parameter -dbr disetel ke True. Menentukan jumlah maksimum catatan data kotor. Jika jumlah catatan data kotor melebihi nilai yang ditentukan, pengunggahan berhenti. Nilai default: 1000.
-ni
Menentukan pengenal data NULL. Nilai default: string kosong.
-ow
Menentukan apakah data yang diunggah menimpa tabel atau partisi. Nilai default: False. Nilai ini menunjukkan bahwa data diunggah dalam mode tambahan.
-- Buat tabel berpartisi. 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 data.txt. File tersebut berisi konten berikut: shopx,x_id,100 shopy,y_id,200 -- Unggah data ke tabel berpartisi. 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 data dalam file data.txt. File tersebut berisi konten berikut: shopx,x_id,300 shopy,y_id,400 -- Unggah file setelah data dalam file diubah. File baru menimpa file yang ada. 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 hanya memulai impor data jika data dalam format yang benar.
False: Sistem mengimpor data tanpa memindai.
Hanya: Sistem hanya memindai data lokal. Data tidak diimpor setelah pemindaian.
-sd
Menentukan direktori sesi.
-ss
Menentukan mode skema ketat. Nilai default: True. Jika Anda menyetel parameter ini ke False, data ekstra dibuang, dan bidang yang tidak ditentukan diisi dengan NULL.
-t
Menentukan jumlah thread. Nilai default: 1.
-te
Menentukan endpoint 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 Zona Waktu.
Show
Menampilkan catatan historis.
Sintaksis
tunnel show history [-n <number>];-n <number>: menentukan jumlah catatan historis yang akan 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 pengunggahan atau pengunduhan 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 pengunggahan atau pengunduhan data terakhir.
tunnel show log;
Resume
Deskripsi
Melanjutkan eksekusi operasi historis. Hanya pengunggahan data yang dapat dilanjutkan.
Sintaksis
odps@ project_name>tunnel help resume; usage: tunnel resume [session_id] [-force] resume an upload session -f,-force force resume Contoh: tunnel resumeParameter
session_id
Menentukan ID sesi tempat pengunggahan gagal. Parameter ini merupakan parameter wajib.
-f
Menentukan apakah akan memaksa melanjutkan eksekusi operasi historis. Parameter ini dihilangkan secara default.
Contoh
Jalankan perintah berikut untuk melanjutkan sesi tempat pengunggahan gagal. Dalam perintah ini, 20150610xxxxxxxxxxx70a002ec60c menunjukkan ID sesi tempat pengunggahan gagal.
odps@ project_name>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 instance tertentu ke direktori lokal.
Anda harus memiliki izin Download sebelum menggunakan Tunnel untuk mengunduh data. Jika Anda tidak memiliki izin Download, hubungi pemilik proyek atau pengguna dengan peran Super_Administrator untuk menyelesaikan otorisasi. Untuk informasi lebih lanjut tentang cara memberikan izin Download, lihat Pengendalian Akses Berbasis Kebijakan.
Sintaksis
odps@ project_name>tunnel help download; usage: tunnel download [options] <[project.]table[/partition]> &<p> <path></p><p> mengunduh data ke file lokal</p><p> -c,-charset <ARG> tentukan charset file, default ignore.</p><p> atur ignore untuk mengunduh data mentah</p><p> -cf,-csv-format <ARG> gunakan format csv (true|false), default</p><p> false. Saat mengunggah dalam format csv,</p><p> pemisahan file tidak didukung.</p><p> -ci,-columns-index <ARG> tentukan indeks kolom (dimulai dari</p><p> 0) untuk diunduh, gunakan koma untuk memisahkan setiap indeks</p><p> -cn,-columns-name <ARG> tentukan nama kolom untuk diunduh,</p><p> gunakan koma untuk memisahkan setiap nama</p><p> -cp,-compress <ARG> kompres, default true</p><p> -dfp,-date-format-pattern <ARG> tentukan pola format tanggal, default</p><p> yyyy-MM-dd HH:mm:ss</p><p> -e,-exponential <ARG> Saat mengunduh nilai double, gunakan</p><p> ekspresi eksponensial jika diperlukan.</p><p> Jika tidak, maksimal 20 digit akan disimpan. Default false</p><p> -fd,-field-delimiter <ARG> tentukan pemisah kolom, mendukung</p><p> unicode, contoh \u0001. default ","</p><p> -h,-header <ARG> jika file lokal harus memiliki header tabel,</p><p> default false</p><p> -limit <ARG> tentukan jumlah catatan yang akan</p><p> diunduh</p><p> -ni,-null-indicator <ARG> tentukan string indikator NULL, default</p><p> ""(string kosong)</p><p> -rd,-record-delimiter <ARG> tentukan pemisah baris, mendukung</p><p> unicode, contoh \u0001. default "\r\n"</p><p> -sd,-session-dir <ARG> atur direktori sesi, default</p><p> D:\software\odpscmd_public\plugins\dship</p><p> -t,-threads <ARG> jumlah thread, default 1</p><p> -te,-tunnel_endpoint <ARG> endpoint tunnel</p><p> -time,-time <ARG> lacak waktu yang dihabiskan untuk unggah/unduh</p><p> atau tidak. Default false</p><p> -tz,-time-zone <ARG> zona waktu, default zona waktu lokal:</p><p> Asia/Shanghai</p><p>usage: tunnel download [options] instance://<[project/]instance_id> <path></p><p> unduh hasil instance ke file lokal</p><p> -c,-charset <ARG> tentukan charset file, default ignore.</p><p> atur ignore untuk mengunduh data mentah</p><p> -cf,-csv-format <ARG> gunakan format csv (true|false), default</p><p> false. Saat mengunggah dalam format csv,</p><p> pemisahan file tidak didukung.</p><p> -ci,-columns-index <ARG> tentukan indeks kolom (dimulai dari</p><p> 0) untuk diunduh, gunakan koma untuk memisahkan setiap indeks</p><p> -cn,-columns-name <ARG> tentukan nama kolom untuk diunduh,</p><p> gunakan koma untuk memisahkan setiap nama</p><p> -cp,-compress <ARG> kompres, default true</p><p> -dfp,-date-format-pattern <ARG> tentukan pola format tanggal, default</p><p> yyyy-MM-dd HH:mm:ss</p><p> -e,-exponential <ARG> Saat mengunduh nilai double, gunakan</p><p> ekspresi eksponensial jika diperlukan.</p><p> Jika tidak, maksimal 20 digit akan disimpan. Default false</p><p> -fd,-field-delimiter <ARG> tentukan pemisah kolom, mendukung</p><p> unicode, contoh \u0001. default ","</p><p> -h,-header <ARG> jika file lokal harus memiliki header tabel,</p><p> default false</p><p> -limit <ARG> tentukan jumlah catatan yang akan</p><p> diunduh</p><p> -ni,-null-indicator <ARG> tentukan string indikator NULL, default</p><p> ""(string kosong)</p><p> -rd,-record-delimiter <ARG> tentukan pemisah baris, mendukung</p><p> unicode, contoh \u0001. default "\r\n"</p><p> -sd,-session-dir <ARG> atur direktori sesi, default</p><p> D:\software\odpscmd_public\plugins\dshi</p><p> -t,-threads <ARG> jumlah thread, default 1</p><p> -te,-tunnel_endpoint <ARG> endpoint tunnel</p><p> -time,-time <ARG> lacak waktu yang dihabiskan untuk unggah/unduh</p><p> atau tidak. Default false</p><p> -tz,-time-zone <ARG> zona waktu, default zona waktu lokal:</p><p> Asia/Shanghai</p><p>Contoh:</p><p> tunnel download test_project.test_table/p1="b1",p2="b2" log.txt // Unduh data dari tabel tertentu.</p><p> tunnel download instance://test_project/test_instance log.txt // Unduh hasil eksekusi instance tertentu.</p>Parameter
Parameter wajib
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 nama file. Anda juga dapat menyimpan file data ke direktori lain, seperti folder test di drive D. Dalam hal ini, atur path ke nilai dalam formatD:\test\Nama file.Ekstensi nama file.[project.]table[/partition]
Menentukan nama tabel yang ingin Anda unduh. Untuk tabel berpartisi, tentukan partisi tingkat terendah. Jika tabel tidak termasuk dalam proyek saat ini, tentukan proyek tempat tabel tersebut berada.
[project/]instance_id
Menentukan ID instance. Anda dapat mengunduh hasil eksekusi instance tertentu.
Parameter opsional
-c
Menentukan format encoding file data lokal. Parameter ini dihilangkan secara default.
-cf
Menentukan apakah file adalah file CSV. Nilai default: False.
CatatanHanya file TXT dan CSV yang dapat diunduh. File TXT diunduh secara default. Jika Anda ingin mengunduh file CSV, atur parameter
-cfke true dan unduh versi terbaru Klien MaxCompute. Setelah Anda menyetel 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 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 akan mengompres file lokal sebelum mengunduhnya 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 data tidak direpresentasikan dengan fungsi eksponensial, simpan 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. Nilai ini menunjukkan bahwa file data tidak memiliki header tabel. Jika Anda menyetel 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 akan diunduh.
-ni
Menentukan pengenal 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 endpoint Tunnel.
-time
Menentukan apakah waktu unduhan dilacak. Nilai default: False.
-tz
Menentukan zona waktu. Zona waktu lokal digunakan secara default, seperti Asia/Shanghai.
Purge
Deskripsi
Membersihkan direktori sesi.
Sintaksis
odps@ nama_proyek>tunnel help purge; penggunaan: tunnel purge [n] paksa riwayat sesi untuk di-purge.([n] hari sebelumnya, default 3 hari) Contoh: tunnel purge 5Parameter
n: Menentukan jumlah hari setelah mana log historis dibersihkan. Nilai default: 3.
Upsert
Deskripsi
Semantik UPDATE dan INSERT digunakan untuk menulis data. Jika tidak ada data yang cocok ditemukan di tabel tujuan, data baru dimasukkan ke dalam tabel. Jika data yang akan ditulis sudah ada, data diperbarui di tabel.
CatatanJika Anda menggunakan klien MaxCompute (odpscmd) untuk menjalankan pernyataan UPSERT, pastikan versi klien adalah V0.47 atau lebih baru.
Hanya tabel Transaction Table 2.0 yang mendukung penulisan data menggunakan pernyataan UPSERT.
Sintaksis
tunnel upsert[options] <path> <[project.]table[/partition]>Format:
Opsi yang tersedia:</p><p>-acp,-auto-create-partition <ARG> buat partisi target jika tidak</p><p> ada, default false</p><p> -bs,-block-size <ARG> ukuran blok dalam MiB, default 100</p><p> -c,-charset <ARG> tentukan charset file, default ignore.</p><p> set ignore untuk mengunduh data mentah</p><p> -cf,-csv-format <ARG> gunakan format csv (true|false), default</p><p> false. Saat mengunggah dalam format csv,</p><p> pemisahan file tidak didukung.</p><p> -cp,-compress <ARG> kompres, default true</p><p> -dbr,-discard-bad-records <ARG> tentukan tindakan membuang catatan buruk</p><p> (true|false), default false</p><p> -dfp,-date-format-pattern <ARG> tentukan pola format tanggal, default</p><p> yyyy-MM-dd HH:mm:ss</p><p> -fd,-field-delimiter <ARG> tentukan pemisah kolom, mendukung</p><p> unicode, contoh \u0001. default ","</p><p> -h,-header <ARG> jika file lokal harus memiliki header tabel, default false</p><p> -mbr,-max-bad-records <ARG> maksimum catatan buruk, default 1000</p><p> -ni,-null-indicator <ARG> tentukan string indikator NULL,</p><p> default ""(string kosong)</p><p> -qn,-quota_name <ARG> nama kuota</p><p> -rd,-record-delimiter <ARG> tentukan pemisah baris, mendukung</p><p> unicode, contoh \u0001. default "\n"</p><p> -sd,-session-dir <ARG> atur direktori sesi, default</p><p> /Users/dingxin/Documents/debug/plugins/dship</p><p> -ss,-strict-schema <ARG> tentukan mode skema ketat. Jika false,</p><p> data ekstra akan dibuang dan</p><p> bidang yang tidak cukup akan diisi</p><p> dengan null. Default true</p><p> -te,-tunnel_endpoint <ARG> endpoint tunnel</p><p> -time,-time <ARG> lacak waktu yang dihabiskan untuk unggah/unduh</p><p> atau tidak. Default false</p><p> -tz,-time-zone <ARG> zona waktu, default zona waktu lokal:</p><p> Asia/Shanghai</p><p>Contoh:</p><p> tunnel upsert log.txt test_project.test_table/p1="b1",p2="b2"</p>Parameter
Parameter wajib
path
Menentukan jalur dan nama file data yang ingin Anda unggah.
Anda dapat menyimpan file data di direktori
binklien MaxCompute. Dalam hal ini, Anda harus menyetel parameter path ke nilai dalam formatNama file.Ekstensi nama file. Anda juga dapat menyimpan file data ke direktori lain, seperti folder test di drive D. Dalam hal ini, Anda harus menyetel parameter path ke nilai dalam formatD:\test\Nama file.Ekstensi nama file.CatatanDi macOS, nilai parameter path hanya bisa berupa jalur absolut. Sebagai contoh, jika file data disimpan di direktori
binklien MaxCompute, Anda harus menyetel parameter path ke nilai dalam formatD:\MaxCompute\bin \Nama file.Ekstensi nama file.[project.]table[/partition]
Menentukan nama tabel tempat Anda ingin mengunggah data. Untuk tabel berpartisi, tentukan partisi tingkat terendah. Jika tabel tidak termasuk dalam proyek saat ini, tentukan proyek tempat tabel tersebut berada.
Parameter opsional
-acp
Menentukan partisi tempat Anda ingin mengunggah data. Jika partisi yang ditentukan tidak ada, partisi 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 adalah file CSV. Nilai default: False.
CatatanPernyataan UPSERT dapat digunakan untuk mengunggah hanya file TXT dan CSV. File TXT diunggah secara default. Jika Anda ingin mengunggah file CSV, konfigurasikan parameter
-cfdan unduh versi terbaru Klien MaxCompute.-cp
Menentukan apakah akan mengompres file data lokal sebelum Anda mengunggahnya ke MaxCompute untuk mengurangi lalu lintas jaringan. Nilai default: True.
-dbr
Menentukan apakah akan mengabaikan data kotor, seperti kolom tambahan, kolom yang hilang, atau jenis data kolom yang tidak cocok. Nilai default: False.
True: Mengabaikan semua data yang tidak sesuai dengan definisi tabel. Secara default, 1000 catatan data diabaikan. Untuk mengubah jumlah catatan data yang ingin Anda abaikan, tentukan parameter -mbr.
False: Kesalahan dikembalikan setelah data kotor terdeteksi. 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, 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 unggah memiliki header tabel. Nilai default: False. Nilai ini menunjukkan bahwa file data tidak boleh berisi header tabel. Jika Anda menyetel parameter ini ke True, file data dapat berisi header tabel. Dalam hal ini, sistem melewati header tabel dan 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 valid ketika parameter -dbr disetel ke True. Menentukan jumlah maksimum catatan data kotor. Jika jumlah catatan data kotor melebihi nilai yang ditentukan, pengunggahan berhenti. Nilai default: 1000.
-ni
Menentukan pengenal data NULL. Nilai default: string kosong.
-qn: Nama Kuota Tunnel yang digunakan untuk mengakses MaxCompute.
Anda dapat masuk ke Konsol MaxCompute, pilih wilayah di bilah navigasi atas, lalu pilih Workspace > Quotas di panel navigasi sisi kiri untuk melihat nama kuota. Untuk informasi lebih lanjut, lihat Kelola Kuota di Konsol MaxCompute Baru.
-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 disetel ke False, data yang tidak perlu dibuang dan bidang yang tidak ditentukan diisi dengan NULL.
-te
Menentukan endpoint Tunnel. Untuk informasi lebih lanjut tentang endpoint, lihat Endpoint.
-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 Zona Waktu.
Perhatian
Tabel berikut menjelaskan tipe data.
Tipe Data
Deskripsi
STRING
String yang mendukung panjang maksimum 8 MB.
BOOLEAN
Untuk pengunggahan file, nilai bisa True, False, 0, atau 1. Untuk pengunduhan file, nilai bisa True atau False. Nilai tidak peka huruf besar-kecil.
BIGINT
Nilai valid: [-9223372036854775807,9223372036854775807].
DOUBLE
Angka 16 digit.
Data tipe ini dinyatakan dalam notasi ilmiah selama pengunggahan data.
Data tipe ini dinyatakan dalam angka selama pengunduhan data.
Nilai maksimum: 1.7976931348623157E308.
Nilai minimum: 4.9E-324.
Tak terhingga positif: Infinity.
Tak terhingga negatif: -Infinity.
DATETIME
Secara default, data tipe DATETIME dapat diunggah ketika 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 Edisi tipe data.
"yyyyMMddHHmmss": Sebagai contoh, "20140209101000" digunakan. "yyyy-MM-dd HH:mm:ss" (format default): Sebagai contoh, "2014-02-09 10:10:00" digunakan. "MM/dd/yyyy": Sebagai contoh, "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"