全部产品
Search
文档中心

MaxCompute:Perintah Tunnel

更新时间:Jul 02, 2025

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.

    Catatan

    Mode 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 bin klien MaxCompute. Dalam hal ini, atur parameter path ke nilai dalam format Nama 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 format D:\test\Nama file.Ekstensi nama file.

        Catatan

        Di macOS, nilai parameter path hanya bisa berupa jalur absolut. Misalnya, jika file data disimpan di direktori bin klien 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.

        Catatan

        Perintah Upload dapat digunakan untuk mengunggah hanya file TXT dan CSV. File TXT diunggah secara default. Jika Anda ingin mengunggah file CSV, konfigurasikan parameter -cf dan 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 resume
  • Parameter

    • 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 bin klien MaxCompute. Dalam hal ini, atur path ke nilai dalam format Nama 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 format D:\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.

        Catatan

        Hanya file TXT dan CSV yang dapat diunduh. File TXT diunduh secara default. Jika Anda ingin mengunduh file CSV, atur parameter -cf ke true dan unduh versi terbaru Klien MaxCompute. Setelah Anda menyetel parameter -cf ke 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=true dan threads>1 tidak 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 5
  • Parameter

    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.

    Catatan
    • Jika 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 bin klien MaxCompute. Dalam hal ini, Anda harus menyetel parameter path ke nilai dalam format Nama 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 format D:\test\Nama file.Ekstensi nama file.

        Catatan

        Di macOS, nilai parameter path hanya bisa berupa jalur absolut. Sebagai contoh, jika file data disimpan di direktori bin klien MaxCompute, Anda harus menyetel parameter path ke nilai dalam format D:\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.

        Catatan

        Pernyataan UPSERT dapat digunakan untuk mengunggah hanya file TXT dan CSV. File TXT diunggah secara default. Jika Anda ingin mengunggah file CSV, konfigurasikan parameter -cf dan 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"

Referensi