Para transferir grandes volumes de dados entre seu ambiente local e o MaxCompute, execute os comandos do Tunnel. Esses comandos permitem transferir dados em lote ou incrementais, aumentando a eficiência e a segurança durante transferências em larga escala. Este tópico descreve como utilizar os comandos do Tunnel para fazer upload e download de dados.
Descrição dos comandos
-
Sintaxe
tunnel <subcommand> [options] [args]Opções
upload (u) download (d) resume (r) show (s) purge (p) help (h) upsert(us) -
Parâmetros
-
upload: faz upload de dados para uma tabela do MaxCompute. É possível enviar arquivos para apenas uma tabela ou uma partição por vez. Em tabelas particionadas, especifique a partição de destino dos dados. Para tabelas com múltiplos níveis de particionamento, especifique obrigatoriamente a partição do nível mais baixo.
-- Upload data from log.txt in the MaxCompute client's bin directory to the p1="b1",p2="b2" partition of the test_table in the test_project. tunnel upload log.txt test_project.test_table/p1="b1",p2="b2"; -- Upload data from log.txt to the test_table table. The --scan=true parameter validates the data in log.txt against the table schema. If the data does not match, an error is reported and the upload is aborted. tunnel upload log.txt test_table --scan=true; -- Upload data from log.txt, located in a different path, to the p1="b1",p2="b2" partition of the test_table in the test_project. tunnel upload D:\test\log.txt test_project.test_table/p1="b1",p2="b2"; -
download: baixe dados de uma tabela do MaxCompute. O download pode ser feito de apenas uma tabela ou partição para um único arquivo local por vez. Em tabelas particionadas, especifique a partição de origem dos dados. Para tabelas com múltiplos níveis de particionamento, especifique obrigatoriamente a partição do nível mais baixo.
-- Download data from the p1="b1",p2="b2" partition of test_project.test_table to the local file test_table.txt. tunnel download test_project.test_table/p1="b1",p2="b2" test_table.txt; -- Download data from the p1="b1",p2="b2" partition of test_project.test_table to a file at a different local path. tunnel download test_project.test_table/p1="b1",p2="b2" D:\test\test_table.txt; -
resume: retoma a transferência de arquivos ou diretórios interrompida por falha na rede ou erro no Tunnel. Este comando serve exclusivamente para retomar uploads de dados. Cada operação de download ou upload corresponde a uma sessão. Antes de executar este comando, especifique o session ID no comando resume.
tunnel resume; -
show: visualize informações históricas de tarefas.
-- 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: exclui arquivos de log do Tunnel do diretório da sessão. Por padrão, logs com mais de três dias são removidos.
-- Clear logs from the last five days. tunnel purge 5; help: obtém informações de ajuda.
-
upsert: utiliza as semânticas UPDATE e INSERT para gravar dados. Apenas tabelas Transaction Table 2.0 suportam gravação de dados via instrução UPSERT.
Caso não existam dados correspondentes na tabela de destino, novos registros serão inseridos. Se os dados já existirem, eles serão atualizados na tabela.
-- 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.
NotaModo de anexação: se os dados que você deseja importar já existirem na tabela do MaxCompute, eles não serão sobrescritos ao executar o comando Upload. Nesse caso, tanto os dados existentes quanto os importados coexistirão na tabela.
-
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
Defina o caminho e o nome do arquivo de dados para upload.
Existem duas formas de definir o caminho do arquivo: se ele estiver no diretório
bindo cliente MaxCompute, defina o parâmetro path comofilename.extension. Caso esteja em outro diretório, comoD:\test, configure o parâmetro path com o caminho absoluto, por exemplo,D:\test\filename.extension. A ferramenta de linha de comando do Tunnel não possui limite de tamanho de arquivo e suporta o upload de arquivos grandes. Para otimizar esse processo, utilize o parâmetro -bs para ajustar o tamanho de cada bloco de dados. O valor padrão é 100 MiB.NotaNo macOS, o valor de path deve ser um caminho absoluto. Por exemplo, se o arquivo estiver no diretório
bindo cliente MaxCompute, defina o parâmetro path com um caminho absoluto, como/Users/username/MaxCompute/bin/filename.extension. -
[project.]table[/partition]
Indica o nome da tabela de destino para o upload. Em tabelas particionadas, é necessário especificar a partição do nível mais baixo. Se a tabela não pertencer ao projeto atual, informe também o projeto onde ela está localizada.
-
-
Parâmetros opcionais
-
-acp
Defina a partição de destino do upload. Se a partição especificada não existir, ela será criada automaticamente. Valor padrão: False.
-
-bs
Determina o tamanho do bloco de dados enviado pelo Tunnel em cada operação. Valor padrão: 100 MiB (1 MiB = 1024 × 1024 bytes).
-
-c
Especifique o formato de codificação do arquivo de dados. Por padrão, este parâmetro não é definido e os dados brutos são baixados.
-
-cf
Indica se o arquivo está no formato CSV. Valor padrão: False.
NotaO comando Upload aceita apenas arquivos TXT e CSV. Arquivos TXT são enviados por padrão. Para fazer upload de um arquivo CSV, configure o parâmetro
-cfe baixe a versão mais recente do MaxCompute client. -
-cp
Defina se o arquivo de dados local deve ser compactado antes do upload para o MaxCompute, visando reduzir o tráfego de rede. Valor padrão: True.
-
-dbr
Determina se dados incorretos (dirty data), como colunas adicionais, colunas ausentes ou tipos de dados incompatíveis, devem ser ignorados. Valor padrão: False.
True: ignora todos os dados que não correspondem à definição da tabela. Por padrão, 1000 registros são descartados. Para alterar essa quantidade, utilize o parâmetro -mbr.
False: retorna um erro ao detectar dados incorretos, garantindo que os dados originais da tabela de destino não sejam contaminados.
-
-dfp
Defina o formato dos dados DATETIME. O formato padrão é
yyyy-MM-dd HH:mm:ss. Para especificar dados DATETIME com precisão de milissegundos, utilize o formato yyyy-MM-dd HH:mm:ss.SSS. Para mais informações sobre o tipo de dado DATETIME, consulte Data type editions. -
-fd
Especifique o delimitador de colunas utilizado no arquivo de dados local. Valor padrão: vírgula (,).
-
-h
Indica se o arquivo de dados possui um cabeçalho de tabela. Valor padrão: False, indicando ausência de cabeçalho. Se definido como True, o arquivo poderá conter um cabeçalho, que será ignorado pelo sistema durante o upload, iniciando a importação a partir da segunda linha.
-
-mbr
Estabelece o número máximo permitido de registros de dados incorretos. Este parâmetro deve ser usado em conjunto com -dbr e só tem efeito quando -dbr estiver definido como True. Se a quantidade de dados incorretos ultrapassar o valor especificado, o upload será interrompido. Valor padrão: 1000.
-
-ni
Defina o identificador para dados NULL. Valor padrão: string vazia.
-
-ow
Determina se os dados enviados sobrescreverão a tabela ou partição. Valor padrão: False, o que indica upload no modo de anexação. O exemplo abaixo ilustra esse comportamento.
-- 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 D:\data.txt 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 content of data.txt to the following: 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
Defina o delimitador de linhas do arquivo de dados local. Valor padrão:
\r\n. -
-s
Controla a verificação prévia do arquivo de dados local. Valor padrão: True.
True: o sistema valida os dados e inicia a importação somente se o formato estiver correto.
False: a importação ocorre sem verificação prévia.
Only: o sistema apenas verifica os dados locais, sem realizar a importação após a validação.
-
-sd
Defina o diretório da sessão.
-
-ss
Ativa o modo de esquema estrito. Valor padrão: True. Se definido como False, dados excedentes serão descartados e campos não especificados serão preenchidos com NULL.
-
-t
Configure a quantidade de threads. Valor padrão: 1.
-
-te
Especifique o endpoint do Tunnel.
-
-time
Habilita o rastreamento do tempo de upload. Valor padrão: False.
-
-tz
Defina o fuso horário. Valor padrão: fuso horário local, como Asia/Shanghai. Para mais informações sobre fusos horários, consulte Time zones.
-
-
Show
-
Visualize registros históricos.
-
Sintaxe
tunnel show history [-n <number>];-n <number>: defina a quantidade de entradas do histórico a serem exibidas.
-
Exemplos
Exemplo 1: visualizar registros históricos. Por padrão, 500 registros são mantidos.
tunnel show history;O seguinte 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: listar os comandos utilizados nas últimas cinco operações de upload ou download.
tunnel show history -n 5;O seguinte 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'
-
-
Visualize os logs da última operação de upload ou download.
tunnel show log;
Resume
-
Descrição
Retoma a execução de operações históricas. Apenas uploads de dados podem ser retomados.
-
Sintaxe
tunnel resume <session_id> [-force]; -
Parâmetros
-
session_id
Identifica a sessão cuja falha ocorreu durante o upload. Este parâmetro é obrigatório.
-
-f
Força a retomada da execução de operações históricas. Por padrão, este parâmetro é omitido.
-
-
Exemplo
Execute o comando abaixo para retomar a sessão com falha no upload. Neste exemplo, 20150610xxxxxxxxxxx70a002ec60c representa o ID da sessão que falhou.
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
Baixe dados de tabelas do MaxCompute ou resultados de execução de instâncias específicas para um diretório local.
É necessária a permissão Download para utilizar o Tunnel nessa operação. Caso não possua essa permissão, solicite ao proprietário do projeto ou a um usuário com a função Super_Administrator que realize a autorização. Para mais detalhes sobre como conceder a permissão Download, consulte Policy-based access control.
-
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
Defina o local onde o arquivo de dados baixado será salvo.
Há duas opções para o caminho de salvamento: baixe diretamente para o diretório
bindo cliente MaxCompute, definindo o parâmetro path comofilename.extension. Alternativamente, salve em outro local, como a pasta de teste na unidade D, configurando o parâmetro path paraD:\test\filename.extension. -
[project.]table[/partition]
Indica o nome da tabela de origem do download. Em tabelas particionadas, especifique a partição do nível mais baixo. Se a tabela não pertencer ao projeto atual, informe também o projeto onde ela está localizada.
-
[project/]instance_id
Identifica uma instância específica para baixar seu resultado de execução.
-
-
Parâmetros opcionais
-
-c
Especifique a codificação do arquivo de dados local. Por padrão, este parâmetro é omitido.
-
-cf
Indica se o arquivo está no formato CSV. Valor padrão: False.
NotaApenas arquivos TXT e CSV podem ser baixados. Arquivos TXT são o padrão. Para baixar em CSV, defina o parâmetro
-cfcomo true e baixe a versão mais recente do MaxCompute client. Ao ativar-cf, o delimitador de arquivo será obrigatoriamente a vírgula (,), tornando ineficaz qualquer valor definido no parâmetro -fd. -
-ci
Selecione os índices das colunas a serem baixadas, começando do zero. Separe os índices por vírgulas (,).
-
-cn
Selecione os nomes das colunas a serem baixadas. Separe os nomes por vírgulas (,).
-
-cp
Defina se o arquivo local deve ser compactado antes do download para reduzir o tráfego de rede. Valor padrão: True.
-
-dfp
Defina o formato dos dados DATETIME. O formato padrão é yyyy-MM-dd HH:mm:ss.
-
-e
Controla a representação de dados do tipo DOUBLE usando notação exponencial. Caso contrário, serão mantidos no máximo 20 dígitos. Valor padrão: False.
-
-fd
Especifique o delimitador de colunas para o arquivo de dados local. Valor padrão: vírgula (,).
-
-h
Indica se o arquivo de dados possui cabeçalho. Valor padrão: False, indicando ausência de cabeçalho. Se definido como True, o arquivo incluirá um cabeçalho.
NotaOs parâmetros
-h=trueethreads>1são mutuamente exclusivos. threads>1 significa que o número de threads é maior que 1. -
-limit
Limita a quantidade de linhas a serem baixadas.
-
-ni
Defina o identificador para dados NULL. Valor padrão: string vazia.
-
-rd
Defina o delimitador de linhas do arquivo de dados local. Valor padrão:
\r\n. -
-sd
Defina o diretório da sessão.
-
-t
Configure a quantidade de threads. Valor padrão: 1.
-
-te
Especifique o endpoint do Tunnel.
-
-time
Habilita o rastreamento do tempo de download. Valor padrão: False.
-
-tz
Defina o fuso horário. O fuso horário local é usado por padrão, como Asia/Shanghai.
-
-
Purge
-
Descrição
Remove arquivos de log do Tunnel do diretório da sessão.
-
Sintaxe
tunnel purge [n]; -
Parâmetros
n: remove arquivos de log do Tunnel anteriores ao número de dias especificado. O valor padrão é 3.
Upsert
-
Descrição
Utiliza as semânticas UPDATE e INSERT para gravar dados. Caso não existam dados correspondentes na tabela de destino, novos registros serão inseridos. Se os dados já existirem, eles serão atualizados na tabela.
NotaPara executar o comando
Upsertusando o cliente MaxCompute (odpscmd), utilize a versão 0.47 ou superior.Apenas tabelas Transaction Table 2.0 suportam gravação de dados via 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
Defina o caminho e o nome do arquivo de dados para upload.
Existem duas formas de definir o caminho do arquivo: se ele estiver no diretório
bindo cliente MaxCompute, defina o parâmetro path comofilename.extension. Caso esteja em outro diretório, comoD:\test, configure o parâmetro path com o caminho absoluto, por exemplo,D:\test\filename.extension. O comando Tunnel não possui limite de tamanho de arquivo e suporta o upload de arquivos maiores que 10 MB. Para otimizar esse processo, utilize o parâmetro -bs para ajustar o tamanho de cada bloco de dados (o padrão é 100 MiB).NotaNo macOS, o valor do parâmetro path deve ser obrigatoriamente um caminho absoluto. Por exemplo, se os arquivos de dados estiverem salvos no diretório
bindo cliente MaxCompute, defina o parâmetro path com um valor no formatoD:\MaxCompute\bin \File name.File name extension. -
[project.]table[/partition]
Indica o nome da tabela de destino para o upload. Em tabelas particionadas, é necessário especificar a partição do nível mais baixo. Se a tabela não pertencer ao projeto atual, informe também o projeto onde ela está localizada.
-
-
Parâmetros opcionais
-
-acp
Defina a partição de destino do upload. Se a partição especificada não existir, ela será criada automaticamente. Valor padrão: False.
-
-bs
Determina o tamanho do bloco de dados enviado pelo Tunnel em cada operação. Valor padrão: 100 MiB (1 MiB = 1024 × 1024 bytes).
-
-c
Especifique o formato de codificação do arquivo de dados. Por padrão, este parâmetro não é definido e os dados brutos são baixados.
-
-cf
Indica se o arquivo está no formato CSV. Valor padrão: False.
NotaA instrução UPSERT aceita apenas arquivos TXT e CSV. Arquivos TXT são enviados por padrão. Para fazer upload de um arquivo CSV, configure o parâmetro
-cfe baixe a versão mais recente do MaxCompute client. -
-cp
Defina se o arquivo de dados local deve ser compactado antes do upload para o MaxCompute, visando reduzir o tráfego de rede. Valor padrão: True.
-
-dbr
Determina se dados incorretos (dirty data), como colunas adicionais, colunas ausentes ou tipos de dados incompatíveis, devem ser ignorados. Valor padrão: False.
True: ignora todos os dados que não correspondem à definição da tabela. Por padrão, 1000 registros são descartados. Para alterar essa quantidade, utilize o parâmetro -mbr.
False: retorna um erro ao detectar dados incorretos, garantindo que os dados originais da tabela de destino não sejam contaminados.
-
-dfp
Defina o formato dos dados DATETIME. O formato padrão é
yyyy-MM-dd HH:mm:ss. Para especificar dados DATETIME com precisão de milissegundos, utilize o formato yyyy-MM-dd HH:mm:ss.SSS. Para mais informações sobre o tipo de dado DATETIME, consulte Data type editions. -
-fd
Especifique o delimitador de colunas utilizado no arquivo de dados local. Valor padrão: vírgula (,).
-
-h
Indica se o arquivo de dados possui um cabeçalho de tabela. Valor padrão: False, indicando ausência de cabeçalho. Se definido como True, o arquivo poderá conter um cabeçalho, que será ignorado pelo sistema durante o upload, iniciando a importação a partir da segunda linha.
-
-mbr
Estabelece o número máximo permitido de registros de dados incorretos. Este parâmetro deve ser usado em conjunto com -dbr e só tem efeito quando -dbr estiver definido como True. Se a quantidade de dados incorretos ultrapassar o valor especificado, o upload será interrompido. Valor padrão: 1000.
-
-ni
Defina o identificador para dados NULL. Valor padrão: string vazia.
-
-qn: nome da cota do Tunnel usada para acessar o MaxCompute.
Faça login no console do MaxCompute, selecione uma região e escolha Workspace > Quotas no painel de navegação à esquerda para visualizar o nome da cota. Para mais informações, consulte Compute resources - Quota management.
-
-rd
Defina o delimitador de linhas do arquivo de dados local. Valor padrão:
\r\n. -
-sd
Defina o diretório da sessão.
-
-ss
Ativa o modo de esquema estrito. Valor padrão: True. Se definido como False, dados desnecessários serão descartados e campos não especificados serão preenchidos com NULL.
-
-te
Especifique o endpoint do Tunnel. Para mais informações sobre endpoints, consulte Endpoints.
-
-time
Habilita o rastreamento do tempo de upload. Valor padrão: False.
-
-tz
Defina o fuso horário. Valor padrão: fuso horário local, como Asia/Shanghai. Para mais informações sobre fusos horários, consulte Time zones.
-
-
Precauções
-
A tabela a seguir descreve os tipos de dados suportados.
Tipo de dado
Descrição
STRING
String com comprimento máximo de 8 MB.
BOOLEAN
Para uploads, aceita True, False, 0 ou 1. Para downloads, aceita True ou False. Não diferencia maiúsculas de minúsculas.
BIGINT
Valores válidos: [-9223372036854775807,9223372036854775807].
DOUBLE
Número de 16 dígitos.
Representado em notação científica durante uploads.
Representado numericamente durante downloads.
Valor máximo: 1.7976931348623157E308.
Valor mínimo: 4,9E-324.
Infinito positivo: Infinity.
Infinito negativo: -Infinity.
DATETIME
Por padrão, dados DATETIME são enviados considerando o fuso horário GMT+8. Use linhas de comando para definir o padrão de formato. Ao enviar esse tipo de dado, especifique obrigatoriamente o formato de hora. Para mais informações, consulte Data type editions.
"yyyyMMddHHmmss": Por exemplo, "20140209101000". "yyyy-MM-dd HH:mm:ss" (formato padrão): Por exemplo, "2014-02-09 10:10:00". "MM/dd/yyyy": Por exemplo, "09/01/2014".Exemplo:
tunnel upload log.txt test_table -dfp "yyyy-MM-dd HH:mm:ss" -
Null: todos os tipos de dados aceitam valores nulos.
Por padrão, uma string em branco representa um valor nulo.
-
Use o parâmetro -null-indicator para definir uma string específica como nula.
tunnel upload log.txt test_table -ni "NULL"
-
Formato de codificação: permite especificar a codificação do arquivo. Valor padrão: UTF-8.
tunnel upload log.txt test_table -c "gbk" -
Delimitador: os comandos do Tunnel suportam delimitadores personalizados. Utilize -record-delimiter para definir delimitadores de linha e -field-delimiter para delimitadores de coluna.
Delimitadores de linha ou coluna podem conter múltiplos caracteres.
Um delimitador de coluna não pode conter o caractere usado como delimitador de linha.
Apenas os seguintes caracteres de escape são suportados na linha de comando: \r, \n e \t.
tunnel upload log.txt test_table -fd "||" -rd "\r\n"