Todos os produtos
Search
Central de documentação

MaxCompute:Comandos do Tunnel

Última atualização: Jul 10, 2026

Os comandos do Tunnel permitem fazer upload e download de dados em lote ou incrementais entre seu ambiente local e o MaxCompute com alta eficiência e confiabilidade.

Descrição dos comandos

  • Sintaxe

    tunnel <subcommand> [options] [args]

    Opções

    Available subcommands:
        upload (u)
        download (d)
        resume (r)
        show (s)
        purge (p)
        help (h)
        upsert(us)
  • Parâmetros

    • upload: envia dados para uma tabela do MaxCompute. Cada operação de upload tem como destino uma tabela ou uma partição. Para tabelas particionadas, especifique a partição de destino. Em tabelas com múltiplos níveis de particionamento, especifique a partição do nível mais baixo.

      -- Uploads data from log.txt (located in the bin directory of the MaxCompute client) to the partition p1="b1",p2="b2" of the two-level partitioned table test_table in the project test_project.
      tunnel upload log.txt test_project.test_table/p1="b1",p2="b2";
      
      -- Uploads data from log.txt to test_table. The --scan=true parameter validates the data in log.txt against the schema of test_table. If the data does not conform to the schema, an error is reported and the upload is aborted.
      tunnel upload  log.txt  test_table --scan=true;
      
      -- Uploads data from log.txt in a different directory to the partition p1="b1",p2="b2" of the two-level partitioned table test_table in the project test_project.
      tunnel upload D:\test\log.txt test_project.test_table/p1="b1",p2="b2";
    • download: baixa dados de uma tabela do MaxCompute. Cada operação de download tem como origem uma tabela ou partição e salva o conteúdo em um único arquivo local. Para tabelas particionadas, especifique a partição de origem. Em tabelas com múltiplos níveis de particionamento, especifique a partição do nível mais baixo.

      -- Downloads data from a partition of the two-level partitioned table test_table in the project test_project to the test_table.txt file.
      tunnel download  test_project.test_table/p1="b1",p2="b2"  test_table.txt;
      -- Downloads data from a partition of the two-level partitioned table test_table in the project test_project to a file in a different directory.
      tunnel download  test_project.test_table/p1="b1",p2="b2"  D:\test\test_table.txt;
    • resume: retoma um upload interrompido. Apenas uploads podem ser retomados. Especifique o session ID do upload que falhou no comando resume.

      tunnel resume;
    • show: exibe registros históricos de uploads e downloads.

      -- Display the commands used in the last five data uploads or downloads. 
      tunnel show history -n 5;
      -- Display the logs of the last data upload or download. 
      tunnel show log;
    • purge: limpa arquivos de log do Tunnel no diretório da sessão. Por padrão, remove logs dos últimos três dias.

      -- Clear logs from the last five days. 
      tunnel purge 5;
    • help: exibe informações de ajuda.

    • upsert: grava dados usando semântica de UPDATE e INSERT. Se não houver dados correspondentes na tabela de destino, novas linhas são inseridas. Caso existam dados correspondentes, as linhas são atualizadas.

      Se não houver dados correspondentes na tabela de destino, novas linhas são inseridas. Caso existam dados correspondentes, as linhas são atualizadas.

      -- Upload data in the log.txt file to the p1="b1" and p2="b2" partitions of the test_table table that has two levels of partitions in the test_project project. The log.txt file is saved in the bin directory of the MaxCompute client. 
      tunnel upsert log.txt test_project.test_table/p1="b1",p2="b2";

Upload

  • Descrição

    Envia dados locais para uma tabela do MaxCompute no modo de anexação.

    Nota

    No modo de anexação, os dados importados não sobrescrevem os dados existentes. Tanto os dados existentes quanto os importados coexistem na tabela do MaxCompute.

  • Sintaxe

    tunnel upload [options] <path> <[project.]table[/partition]>

    Formato

    Available options:
     -acp,-auto-create-partition <ARG>   auto create target partition if not
                                         exists, default false
     -bs,-block-size <ARG>               block size in MiB, default 100
     -c,-charset <ARG>                   specify file charset, default ignore.
                                         set ignore to download raw data
     -cf,-csv-format <ARG>               use csv format (true|false), default
                                         false. When uploading in csv format,
                                         file splitting not supported.
     -cp,-compress <ARG>                 compress, default true
     -dbr,-discard-bad-records <ARG>     specify discard bad records
                                         action(true|false), default false
     -dfp,-date-format-pattern <ARG>     specify date format pattern, default
                                         yyyy-MM-dd HH:mm:ss
     -fd,-field-delimiter <ARG>          specify field delimiter, support
                                         unicode, eg \u0001. default ","
     -h,-header <ARG>                    if local file should have table
                                         header, default false
     -mbr,-max-bad-records <ARG>         max bad records, default 1000
     -ni,-null-indicator <ARG>           specify null indicator string,
                                         default ""(empty string)
     -ow,-overwrite <true | false>       overwrite specified table or
                                         partition, default: false
     -rd,-record-delimiter <ARG>         specify record delimiter, support
                                         unicode, eg \u0001. default "\r\n"
     -s,-scan <ARG>                      specify scan file
                                         action(true|false|only), default true
     -sd,-session-dir <ARG>              set session dir, default
                                         D:\software\odpscmd_public\plugins\dship
     -ss,-strict-schema <ARG>            specify strict schema mode. If false,
                                         extra data will be abandoned and
                                         insufficient field will be filled
                                         with null. Default true
     -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 upload log.txt test_project.test_table/p1="b1",p2="b2"
  • Parâmetros

    • Parâmetros obrigatórios

      • path

        Caminho e nome do arquivo de dados para upload.

        Salve arquivos de dados no diretório bin do cliente MaxCompute. Nesse caso, defina path como Nome do arquivo.Extensão do arquivo. Para usar outro diretório, como a pasta test na unidade D, defina path como D:\test\Nome do arquivo.Extensão do arquivo.

        Nota

        No macOS, o valor do parâmetro path deve ser um caminho absoluto. Por exemplo, se os arquivos de dados estiverem no diretório bin do cliente MaxCompute, defina path como /Users/username/MaxCompute/bin/nome do arquivo.extensão do arquivo.

      • [project.]table[/partition]

        Nome da tabela de destino do upload. Especifique a partição do nível mais baixo para tabelas particionadas. Se a tabela não pertencer ao projeto atual, especifique o projeto onde ela está localizada.

    • Parâmetros opcionais

      • -acp

        Cria automaticamente a partição de destino caso ela não exista. Valor padrão: False.

      • -bs

        Tamanho de cada bloco de dados enviado pelo Tunnel. Valor padrão: 100 MiB (1 MiB = 1024 × 1024 bytes).

      • -c

        Formato de codificação do arquivo de dados. Por padrão, esse parâmetro não é especificado e os dados brutos são baixados.

      • -cf

        Indica se o arquivo está no formato CSV. Valor padrão: False.

        Nota

        O comando Upload suporta apenas arquivos TXT e CSV. Arquivos TXT são enviados por padrão. Para enviar um arquivo CSV, defina o parâmetro -cf e use a versão mais recente do cliente MaxCompute.

      • -cp

        Indica se o arquivo de dados local deve ser compactado antes do upload para reduzir o tráfego de rede. Valor padrão: True.

      • -dbr

        Indica se dados inconsistentes devem ser descartados, como colunas adicionais, colunas ausentes ou tipos de dados incompatíveis. Valor padrão: False.

        • True: descarta todos os dados que não correspondem à definição da tabela. Por padrão, até 1.000 registros são descartados. Para alterar esse limite, especifique o parâmetro -mbr.

        • False: retorna um erro ao detectar dados inconsistentes, evitando a contaminação dos dados existentes na tabela.

      • -dfp

        Formato dos dados DATETIME. O formato padrão é yyyy-MM-dd HH:mm:ss. Para especificar precisão de milissegundos, use yyyy-MM-dd HH:mm:ss.SSS. Para obter mais informações sobre o tipo de dado DATETIME, consulte Guia de versões de tipos de dados.

      • -fd

        Delimitador de colunas no arquivo de dados local. Valor padrão: vírgula (,).

      • -h

        Indica se o arquivo de dados contém um cabeçalho de tabela. Valor padrão: False, o que significa que o arquivo não deve conter cabeçalho. Se definido como True, o sistema ignora a primeira linha e envia os dados a partir da segunda linha.

      • -mbr

        Número máximo de registros de dados inconsistentes permitidos. Deve ser usado com -dbr e só entra em vigor quando -dbr está definido como True. Se o número de registros inconsistentes exceder esse valor, o upload é interrompido. Valor padrão: 1.000.

      • -ni

        Identificador de dados NULL. Valor padrão: uma string vazia.

      • -ow

        Indica se os dados enviados sobrescrevem os dados existentes na tabela ou partição. Valor padrão: False (os dados são enviados no modo de anexação). O código a seguir mostra um exemplo.

        -- Create a partitioned table.
        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');
        
        -- Prepare a local data file named data.txt in drive D with the following content:
        shopx,x_id,100
        shopy,y_id,200
        
        -- Upload data to the partitioned table.
        tunnel upload d:\data.txt sale_detail/sale_date=201312,region=hangzhou;
        
        -- Query the sale_detail table.
        SELECT * FROM sale_detail;
        
        -- The following result is returned:
        +------------+-------------+-------------+------------+------------+
        | shop_name  | customer_id | total_price | sale_date  | region     |
        +------------+-------------+-------------+------------+------------+
        | shopx      | x_id        | 100.0       | 201312     | hangzhou   |
        | shopy      | y_id        | 200.0       | 201312     | hangzhou   |
        +------------+-------------+-------------+------------+------------+
        
        -- Modify the local data.txt file with the following content:
        shopx,x_id,300
        shopy,y_id,400
        
        -- Overwrite the data in the partition.
        tunnel upload -ow true data.txt sale_detail/sale_date=201312,region=hangzhou;
        
        -- Query the sale_detail table.
        SELECT * FROM sale_detail;
        
        -- The following result is returned:
        +------------+-------------+-------------+------------+------------+
        | shop_name  | customer_id | total_price | sale_date  | region     |
        +------------+-------------+-------------+------------+------------+
        | shopx      | x_id        | 300.0       | 201312     | hangzhou   |
        | shopy      | y_id        | 400.0       | 201312     | hangzhou   |
        +------------+-------------+-------------+------------+------------+
      • -rd

        Delimitador de linhas no arquivo de dados local. Valor padrão: \r\n.

      • -s

        Indica se o arquivo de dados local deve ser verificado antes do upload. Valor padrão: True.

        • True: verifica os dados e inicia a importação apenas se o formato for válido.

        • False: importa dados sem verificação prévia.

        • Only: verifica os dados locais sem importá-los.

      • -sd

        Diretório da sessão.

      • -ss

        Ativa ou desativa o modo de esquema estrito. Valor padrão: True. Se definido como False, dados extras são descartados e campos ausentes são preenchidos com NULL.

      • -t

        Número de threads. Valor padrão: 1.

      • -te

        Endpoint do Tunnel.

      • -time

        Indica se o tempo decorrido do upload deve ser rastreado. Valor padrão: False.

      • -tz

        Fuso horário. Valor padrão: fuso horário local, como Asia/Shanghai. Para obter mais informações sobre fusos horários, consulte Lista de fusos horários.

Show

  • Exibe registros históricos.

    • Sintaxe

      tunnel show history [-n <number>];

      -n <number>: número de registros históricos a serem exibidos.

    • Exemplos

      Exemplo 1: Exibir registros históricos. Por padrão, até 500 registros são salvos.

      tunnel show history;

      Resultado retornado:

      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'
      ......

      Exemplo 2: Exibir os últimos cinco registros de upload ou download.

      tunnel show history -n 5;

      Resultado retornado:

      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'
  • Exibe os logs do último upload ou download.

    tunnel show log;

Resume

  • Descrição

    Retoma operações históricas de upload interrompidas. Apenas uploads podem ser retomados.

  • Sintaxe

    tunnel resume <session_id> [-force];
  • Parâmetros

    • session_id

      ID da sessão do upload que falhou. Obrigatório.

    • -f

      Indica se a operação deve ser retomada forçadamente.

  • Exemplo

    Execute o comando a seguir para retomar a sessão de upload que falhou. Neste comando, 20150610xxxxxxxxxxx70a002ec60c é o ID da sessão do upload com falha.

    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

  • Descrição

    Baixa dados de tabelas do MaxCompute ou o resultado da execução de uma instância específica para um arquivo local.

    É necessária a permissão Download para usar o Tunnel no download de dados. Caso não possua essa permissão, entre em contato com o proprietário do projeto ou um usuário com a função Super_Administrator. Para obter mais informações, consulte Controle de acesso baseado em políticas.

  • Sintaxe

    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.
  • Parâmetros

    • Parâmetros obrigatórios

      • path

        Caminho para salvar o arquivo de dados baixado.

        Salve arquivos de dados no diretório bin do cliente MaxCompute. Nesse caso, defina path como Nome do arquivo.Extensão do arquivo. Para usar outro diretório, como a pasta test na unidade D, defina path como D:\test\Nome do arquivo.Extensão do arquivo.

      • [project.]table[/partition]

        Nome da tabela a ser baixada. Especifique a partição do nível mais baixo para tabelas particionadas. Se a tabela não pertencer ao projeto atual, especifique o projeto onde ela está localizada.

      • [project/]instance_id

        ID de uma instância cujo resultado de execução você deseja baixar.

    • Parâmetros opcionais

      • -c

        Formato de codificação do arquivo de dados local. Este parâmetro é omitido por padrão.

      • -cf

        Indica se o arquivo está no formato CSV. Valor padrão: False.

        Nota

        Apenas arquivos TXT e CSV podem ser baixados. Arquivos TXT são baixados por padrão. Para baixar um arquivo CSV, defina o parâmetro -cf como true e use a versão mais recente do cliente MaxCompute. Quando -cf está definido como true, o delimitador é fixado em vírgulas (,) e o parâmetro -fd não tem efeito.

      • -ci

        Índices das colunas a serem baixadas. Os índices das colunas começam em 0. Separe vários índices com vírgulas (,).

      • -cn

        Nomes das colunas a serem baixadas. Separe vários nomes de colunas com vírgulas (,).

      • -cp

        Indica se os dados devem ser compactados durante o download para reduzir o tráfego de rede. Valor padrão: True.

      • -dfp

        Formato dos dados DATETIME. O formato padrão é yyyy-MM-dd HH:mm:ss.

      • -e

        Indica se a notação exponencial deve ser usada para valores DOUBLE. Se desativado, até 20 dígitos são mantidos. Valor padrão: False.

      • -fd

        Delimitador de colunas para o arquivo de dados local. Valor padrão: vírgula (,).

      • -h

        Indica se o arquivo de dados baixado inclui um cabeçalho de tabela. Valor padrão: False (sem cabeçalho). Se definido como True, o arquivo inclui uma linha de cabeçalho.

        Nota

        -h=true e threads>1 não podem ser usados juntos. threads>1 indica que o número de threads é maior que 1.

      • -limit

        Número de registros a serem baixados.

      • -ni

        Identificador de dados NULL. Valor padrão: uma string vazia.

      • -rd

        Delimitador de linhas no arquivo de dados local. Valor padrão: \r\n.

      • -sd

        Diretório da sessão.

      • -t

        Número de threads. Valor padrão: 1.

      • -te

        Endpoint do Tunnel.

      • -time

        Indica se o tempo decorrido do download deve ser rastreado. Valor padrão: False.

      • -tz

        Fuso horário. O fuso horário local é usado por padrão, como Asia/Shanghai.

Purge

  • Descrição

    Limpa arquivos de log do Tunnel no diretório da sessão.

  • Sintaxe

    tunnel purge [n];
  • Parâmetros

    n: período de retenção em dias para logs históricos do Tunnel. Padrão: 3.

Upsert

  • Descrição

    Grava dados usando semântica de UPDATE e INSERT. Se não houver dados correspondentes na tabela de destino, novas linhas são inseridas. Caso existam dados correspondentes, as linhas são atualizadas.

    Nota
    • Ao usar o cliente MaxCompute (odpscmd) para executar a instrução UPSERT, certifique-se de que a versão do cliente seja V0.47 ou posterior.

    • Apenas tabelas Transaction Table 2.0 suportam gravação de dados por meio da instrução UPSERT.

  • Sintaxe

    tunnel upsert[options] <path> <[project.]table[/partition]>

    Formato:

    Available options:
    -acp,-auto-create-partition <ARG>   auto create target partition if not
                                         exists, default false
     -bs,-block-size <ARG>               block size in MiB, default 100
     -c,-charset <ARG>                   specify file charset, default ignore.
                                         set ignore to download raw data
     -cf,-csv-format <ARG>               use csv format (true|false), default
                                         false. When uploading in csv format,
                                         file splitting not supported.
     -cp,-compress <ARG>                 compress, default true
     -dbr,-discard-bad-records <ARG>     specify discard bad records
                                         action(true|false), default false
     -dfp,-date-format-pattern <ARG>     specify date format pattern, default
                                         yyyy-MM-dd HH:mm:ss
     -fd,-field-delimiter <ARG>          specify field delimiter, support
                                         unicode, eg \u0001. default ","
     -h,-header <ARG>                    if local file should have table
                                         header, default false
     -mbr,-max-bad-records <ARG>         max bad records, default 1000
     -ni,-null-indicator <ARG>           specify null indicator string,
                                         default ""(empty string)
     -qn,-quota_name <ARG>               quota name
     -rd,-record-delimiter <ARG>         specify record delimiter, support
                                         unicode, eg \u0001. default "\n"
     -sd,-session-dir <ARG>              set session dir, default
                                         /Users/dingxin/Documents/debug/plugin
                                         s/dship
     -ss,-strict-schema <ARG>            specify strict schema mode. If false,
                                         extra data will be abandoned and
                                         insufficient field will be filled
                                         with null. Default true
     -te,-tunnel_endpoint <ARG>          tunnel endpoint
     -time,-time <ARG>                   keep track of upload/download elapsed
                                         time or not. Default false
     -tz,-time-zone <ARG>                time zone, default local timezone:
                                         Asia/Shanghai
    Example:
        tunnel upsert log.txt test_project.test_table/p1="b1",p2="b2"
  • Parâmetros

    • Parâmetros obrigatórios

      • path

        Caminho e nome do arquivo de dados para upload.

        Salve arquivos de dados no diretório bin do cliente MaxCompute. Nesse caso, defina path como Nome do arquivo.Extensão do arquivo. Para usar outro diretório, como a pasta test na unidade D, defina path como D:\test\Nome do arquivo.Extensão do arquivo.

        Nota

        No macOS, o valor do parâmetro path deve ser um caminho absoluto. Por exemplo, se os arquivos de dados estiverem no diretório bin do cliente MaxCompute, defina path como D:\MaxCompute\bin \Nome do arquivo.Extensão do arquivo.

      • [project.]table[/partition]

        Nome da tabela de destino do upload. Especifique a partição do nível mais baixo para tabelas particionadas. Se a tabela não pertencer ao projeto atual, especifique o projeto onde ela está localizada.

    • Parâmetros opcionais

      • -acp

        Cria automaticamente a partição de destino caso ela não exista. Valor padrão: False.

      • -bs

        Tamanho de cada bloco de dados enviado pelo Tunnel. Valor padrão: 100 MiB (1 MiB = 1024 × 1024 bytes).

      • -c

        Formato de codificação do arquivo de dados. Por padrão, esse parâmetro não é especificado e os dados brutos são baixados.

      • -cf

        Indica se o arquivo está no formato CSV. Valor padrão: False.

        Nota

        A instrução UPSERT suporta apenas arquivos TXT e CSV. Arquivos TXT são enviados por padrão. Para enviar um arquivo CSV, defina o parâmetro -cf e use a versão mais recente do cliente MaxCompute.

      • -cp

        Indica se o arquivo de dados local deve ser compactado antes do upload para reduzir o tráfego de rede. Valor padrão: True.

      • -dbr

        Indica se dados inconsistentes devem ser descartados, como colunas adicionais, colunas ausentes ou tipos de dados incompatíveis. Valor padrão: False.

        • True: descarta todos os dados que não correspondem à definição da tabela. Por padrão, até 1.000 registros são descartados. Para alterar esse limite, especifique o parâmetro -mbr.

        • False: retorna um erro ao detectar dados inconsistentes, evitando a contaminação dos dados existentes na tabela.

      • -dfp

        Formato dos dados DATETIME. O formato padrão é yyyy-MM-dd HH:mm:ss. Para especificar precisão de milissegundos, use yyyy-MM-dd HH:mm:ss.SSS. Para obter mais informações sobre o tipo de dado DATETIME, consulte Guia de versões de tipos de dados.

      • -fd

        Delimitador de colunas no arquivo de dados local. Valor padrão: vírgula (,).

      • -h

        Indica se o arquivo de dados contém um cabeçalho de tabela. Valor padrão: False, o que significa que o arquivo não deve conter cabeçalho. Se definido como True, o sistema ignora a primeira linha e envia os dados a partir da segunda linha.

      • -mbr

        Número máximo de registros de dados inconsistentes permitidos. Deve ser usado com -dbr e só entra em vigor quando -dbr está definido como True. Se o número de registros inconsistentes exceder esse valor, o upload é interrompido. Valor padrão: 1.000.

      • -ni

        Identificador de dados NULL. Valor padrão: uma string vazia.

      • -qn: nome da cota do Tunnel usada para acessar o MaxCompute.

        Obtenha o nome da cota no console do MaxCompute. No console, selecione uma região na barra de navegação superior e escolha Workspace > Quotas. Para obter mais informações, consulte Gerenciar cotas.

      • -rd

        Delimitador de linhas no arquivo de dados local. Valor padrão: \r\n.

      • -sd

        Diretório da sessão.

      • -ss

        Ativa ou desativa o modo de esquema estrito. Valor padrão: True. Se definido como False, dados extras são descartados e campos ausentes são preenchidos com NULL.

      • -te

        Endpoint do Tunnel. Para obter mais informações sobre endpoints, consulte Endpoint.

      • -time

        Indica se o tempo decorrido do upload deve ser rastreado. Valor padrão: False.

      • -tz

        Fuso horário. Valor padrão: fuso horário local, como Asia/Shanghai. Para obter mais informações sobre fusos horários, consulte Lista de fusos horários.

Precauções

  • A tabela a seguir descreve os tipos de dados suportados.

    Tipo de dado

    Descrição

    STRING

    Suporta comprimento máximo de 8 MB.

    BOOLEAN

    Para uploads, os valores válidos são True, False, 0 e 1. Para downloads, os valores válidos são True e False. Os valores não diferenciam maiúsculas de minúsculas.

    BIGINT

    Valores válidos: [-9223372036854775807,9223372036854775807].

    DOUBLE

    • Um número de 16 dígitos.

    • Expresso em notação científica durante uploads.

    • Expresso em forma numérica padrão durante downloads.

    • Valor máximo: 1,7976931348623157E308.

    • Valor mínimo: 4,9E-324.

    • Infinito positivo: Infinity.

    • Infinito negativo: -Infinity.

    DATETIME

    Por padrão, dados do tipo DATETIME podem ser enviados no fuso horário GMT+8. É possível especificar o padrão de formato na linha de comando. Ao enviar dados DATETIME, especifique o formato de hora. Para obter mais informações, consulte Guia de versões de tipos de dados.

    "yyyyMMddHHmmss": For example, "20140209101000" is used.
    "yyyy-MM-dd HH:mm:ss" (default format): For example, "2014-02-09 10:10:00" is used.
    "MM/dd/yyyy": For example, "09/01/2014" is used.

    Exemplo:

    tunnel upload log.txt test_table -dfp "yyyy-MM-dd HH:mm:ss"
  • Null: cada tipo de dado suporta valores nulos.

    • Por padrão, uma string em branco indica um valor nulo.

    • Use -null-indicator para especificar uma string nula personalizada.

      tunnel upload log.txt test_table -ni "NULL"
  • Formato de codificação: é possível especificar o formato de codificação do arquivo. Padrão: UTF-8.

    tunnel upload log.txt test_table -c "gbk"
  • Delimitador: Os comandos do Tunnel suportam delimitadores personalizados. Use -record-delimiter para delimitadores de linha e -field-delimiter para delimitadores de coluna.

    • Um delimitador de linha ou coluna pode conter vários caracteres.

    • Um delimitador de coluna não pode conter um delimitador de linha.

    • Os seguintes caracteres de escape são suportados como delimitadores na linha de comando: \r, \n e \t.

    tunnel upload log.txt test_table -fd "||" -rd "\r\n"

Referências