Pour transférer de grands volumes de données entre votre environnement local et MaxCompute, utilisez les commandes Tunnel fournies par MaxCompute afin d'uploader et de télécharger des données. Ces commandes permettent de gérer des transferts de données par lots ou incrémentiels, améliorant ainsi l'efficacité et la sécurité lors des transferts à grande échelle. Cette rubrique explique comment utiliser les commandes Tunnel pour uploader et télécharger des données.
Description des commandes
-
Syntaxe
tunnel <subcommand> [options] [args]Options
upload (u) download (d) resume (r) show (s) purge (p) help (h) upsert(us) -
Paramètres
-
upload : uploade des données vers une table MaxCompute. Vous ne pouvez uploader des fichiers que vers une seule table ou une seule partition à la fois. Pour une table partitionnée, vous devez spécifier la partition cible. Pour une table à partitions multiples, vous devez spécifier la partition de niveau le plus bas.
-- 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 : télécharge des données depuis une table MaxCompute. Vous ne pouvez télécharger des données que depuis une seule table ou partition vers un seul fichier local à la fois. Pour une table partitionnée, vous devez spécifier la partition source. Pour une table à partitions multiples, vous devez spécifier la partition de niveau le plus bas.
-- 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 : reprend le transfert de fichiers ou de répertoires interrompu en raison d'une déconnexion réseau ou d'un dysfonctionnement de Tunnel. Cette commande permet uniquement de reprendre des uploads de données. Un téléchargement ou un upload de données est appelé une session. Vous devez spécifier l'ID de session dans la commande resume avant de l'exécuter.
tunnel resume; -
show : affiche les informations historiques des tâches.
-- 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 : supprime les fichiers journaux Tunnel du répertoire de session. Par défaut, les journaux datant de plus de trois jours sont supprimés.
-- Clear logs from the last five days. tunnel purge 5; help : obtient des informations d'aide.
-
upsert : écrit des données en utilisant la sémantique UPDATE et INSERT. Seules les tables Transaction Table 2.0 supportent l'écriture de données via l'instruction UPSERT.
Si aucune donnée correspondante n'est trouvée dans la table de destination, les nouvelles données sont insérées. Si les données à écrire existent déjà, elles sont mises à jour dans la table.
-- 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
-
Description
Uploade des données locales vers une table MaxCompute en mode ajout (append).
RemarqueMode ajout : si les données que vous souhaitez importer existent déjà dans la table MaxCompute, elles ne sont pas écrasées après l'exécution de la commande Upload. Dans ce cas, les données existantes et les données importées coexistent dans la table MaxCompute.
-
Syntaxe
tunnel upload [options] <path> <[project.]table[/partition]>Format
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" -
Paramètres
-
Paramètres obligatoires
-
path
Spécifie le chemin et le nom du fichier de données à uploader.
Vous pouvez spécifier le chemin du fichier de deux manières : si le fichier se trouve dans le répertoire
bindu client MaxCompute, définissez le paramètre path surnomfichier.extension. Si le fichier se trouve dans un autre répertoire, tel queD:\test, définissez le paramètre path sur le chemin absolu, par exempleD:\test\nomfichier.extension. L'outil de ligne de commande Tunnel n'impose aucune limite de taille de fichier et supporte l'upload de fichiers volumineux. Pour optimiser l'upload de gros fichiers, vous pouvez utiliser le paramètre -bs pour ajuster la taille de chaque bloc de données. La valeur par défaut est de 100 MiB.RemarqueSur macOS, la valeur du paramètre path doit être un chemin absolu. Par exemple, si votre fichier se trouve dans le répertoire
bindu client MaxCompute, définissez le paramètre path sur un chemin absolu, tel que/Users/nomutilisateur/MaxCompute/bin/nomfichier.extension. -
[project.]table[/partition]
Spécifie le nom de la table vers laquelle vous souhaitez uploader les données. Vous devez spécifier la partition de niveau le plus bas pour une table partitionnée. Si la table n'appartient pas au projet actuel, vous devez spécifier le projet où se trouve la table. Paramètres optionnels ## Show ## Resume
-
-acp
Spécifie la partition vers laquelle vous souhaitez uploader les données. Si la partition spécifiée n'existe pas, elle est automatiquement créée. Valeur par défaut : False. -bs Spécifie la taille du bloc de données uploadé par Tunnel à chaque fois. Valeur par défaut : 100 MiB (1 MiB = 1024 × 1024 octets). -c Spécifie le format d'encodage du fichier de données. Par défaut, ce paramètre n'est pas spécifié et les données brutes sont téléchargées. -cf Indique si le fichier est au format CSV. Valeur par défaut : False. La commande Upload permet d'uploader uniquement des fichiers TXT et CSV. Les fichiers TXT sont uploadés par défaut. Si vous souhaitez uploader un fichier CSV, vous devez configurer le paramètre
-cfet télécharger la dernière version du client MaxCompute. -
-cp
Indique s'il faut compresser le fichier de données local avant de l'uploader vers MaxCompute afin de réduire le trafic réseau. Valeur par défaut : True. -dbr Indique s'il faut ignorer les données erronées, telles que les colonnes supplémentaires, les colonnes manquantes ou les types de données de colonne non correspondants. Valeur par défaut : False.
True : ignore toutes les données qui ne correspondent pas à la définition de la table. Par défaut, 1000 enregistrements de données sont ignorés. Pour modifier le nombre d'enregistrements à ignorer, spécifiez le paramètre -mbr.
False : une erreur est renvoyée dès qu'une donnée erronée est détectée. Cela garantit que les données brutes de la table cible ne sont pas contaminées.
-
-dfp
Spécifie le format des données DATETIME. Le format par défaut est
yyyy-MM-dd HH:mm:ss. Si vous souhaitez spécifier des données DATETIME avec une précision à la milliseconde, utilisez le format yyyy-MM-dd HH:mm:ss.SSS. Pour plus d'informations sur le type de données DATETIME, consultez les Modifications des types de données. -fd Spécifie le délimiteur de colonne utilisé dans le fichier de données local. Valeur par défaut : virgule (,). -h Indique si le fichier de données à uploader contient un en-tête de table. Valeur par défaut : False. Cette valeur indique que le fichier de données ne peut pas contenir d'en-tête. Si vous définissez ce paramètre sur True, le fichier de données peut contenir un en-tête. Dans ce cas, le système ignore l'en-tête et uploade les données à partir de la deuxième ligne. -mbr Spécifie le nombre maximal d'enregistrements de données erronées autorisés. Ce paramètre doit être utilisé conjointement avec le paramètre -dbr et n'est valide que lorsque le paramètre -dbr est défini sur True. Spécifie le nombre maximal d'enregistrements erronés. Si le nombre d'enregistrements erronés dépasse la valeur spécifiée, l'upload s'arrête. Valeur par défaut : 1000. -ni Spécifie l'identifiant de données NULL. Valeur par défaut : chaîne vide. -ow Indique si les données uploadées écrasent la table ou la partition. Valeur par défaut : False. Cette valeur indique que les données sont uploadées en mode ajout. L'exemple suivant illustre cette opération.-- 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
Spécifie le délimiteur de ligne utilisé dans le fichier de données local. Valeur par défaut :
\r\n. -s Indique s'il faut analyser le fichier de données local. Valeur par défaut : True.True : le système analyse les données et commence l'importation uniquement si le format est correct.
False : le système importe les données sans analyse.
Only : le système analyse uniquement les données locales. Les données ne sont pas importées après l'analyse.
-
-sd
Spécifie le répertoire de session. -ss Spécifie le mode de schéma strict. Valeur par défaut : True. Si vous définissez ce paramètre sur False, les données supplémentaires sont ignorées et les champs non spécifiés sont remplis avec NULL. -t Spécifie le nombre de threads. Valeur par défaut : 1. -te Spécifie l'endpoint de Tunnel. -time Indique si le temps d'upload est suivi. Valeur par défaut : False. -tz Spécifie le fuseau horaire. Valeur par défaut : fuseau horaire local, tel que Asia/Shanghai. Pour plus d'informations sur les fuseaux horaires, consultez la section Fuseaux horaires.
-
Affiche les historiques des opérations.
-
Syntaxe
tunnel show history [-n <number>];-n <number> : spécifie le nombre d'entrées historiques à afficher.
-
Exemples
Exemple 1 : Affiche les historiques. Par défaut, 500 enregistrements de données sont conservés.
tunnel show history;Le résultat suivant est renvoyé :
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' ......Exemple 2 : Affiche les commandes utilisées lors des cinq derniers uploads ou téléchargements de données.
tunnel show history -n 5;Le résultat suivant est renvoyé :
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'
-
-
Affiche les journaux du dernier upload ou téléchargement de données.
tunnel show log;
-
Description
Reprend l'exécution des opérations historiques. Seuls les uploads de données peuvent être repris.
-
Syntaxe
tunnel resume <session_id> [-force]; -
Paramètres
-
session_id
Spécifie l'ID de la session dont l'upload a échoué. Ce paramètre est obligatoire.
-
-f
Indique s'il faut forcer la reprise de l'exécution des opérations historiques. Ce paramètre est omis par défaut. Exemple Exécutez la commande suivante pour reprendre la session dont l'upload a échoué. Dans cette commande, 20150610xxxxxxxxxxx70a002ec60c représente l'ID de la session dont l'upload a échoué.
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
Téléchargement
-
Description
Télécharge les données d'une table MaxCompute ou le résultat d'exécution d'une instance spécifique vers un répertoire local.
Vous devez disposer de l'autorisation Download avant d'utiliser Tunnel pour télécharger des données. Si vous ne possédez pas cette autorisation, contactez le propriétaire du projet ou un utilisateur ayant le rôle Super_Administrator pour effectuer l'autorisation. Pour plus d'informations sur l'octroi de l'autorisation Download, consultez la rubrique Contrôle d'accès basé sur les politiques.
-
Syntaxe
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. -
Paramètres
-
Paramètres obligatoires
-
path
Spécifie le chemin d'enregistrement du fichier de données téléchargé.
Deux options s'offrent à vous pour le chemin d'enregistrement. Vous pouvez télécharger le fichier directement dans le répertoire
bindu client MaxCompute. Dans ce cas, définissez le paramètre path surfilename.extension. Vous pouvez également choisir un autre emplacement, comme le dossier test sur le lecteur D. Définissez alors le paramètre path surD:\test\filename.extension. -
[project.]table[/partition]
Indique le nom de la table à télécharger. Pour une table partitionnée, vous devez spécifier la partition de niveau le plus bas. Si la table n'appartient pas au projet actuel, précisez le projet auquel elle appartient.
-
[project/]instance_id
Indique l'ID d'une instance. Cela permet de télécharger le résultat d'exécution d'une instance spécifique.
-
-
Paramètres facultatifs
-
-c
Définit le format d'encodage du fichier de données local. Ce paramètre est omis par défaut.
-
-cf
Indique si le fichier est au format CSV. Valeur par défaut : False.
RemarqueSeuls les fichiers TXT et CSV peuvent être téléchargés. Le format TXT est utilisé par défaut. Pour télécharger un fichier CSV, définissez le paramètre
-cfsur true et assurez-vous d'utiliser la dernière version du client MaxCompute. Lorsque-cfest activé, le délimiteur de champ doit être une virgule (,). La valeur définie via le paramètre -fd est alors ignorée. -
-ci
Spécifie les index des colonnes à télécharger (à partir de 0). Séparez les index par des virgules (,).
-
-cn
Indique les noms des colonnes à télécharger. Séparez les noms par des virgules (,).
-
-cp
Active ou désactive la compression du fichier local avant le téléchargement afin de réduire le trafic réseau. Valeur par défaut : True.
-
-dfp
Définit le format des données DATETIME. Le format par défaut est yyyy-MM-dd HH:mm:ss.
-
-e
Détermine si les valeurs DOUBLE téléchargées doivent utiliser la notation exponentielle. Sinon, jusqu'à 20 chiffres sont conservés. Valeur par défaut : False.
-
-fd
Spécifie le délimiteur de colonne pour le fichier de données local. Valeur par défaut : virgule (,).
-
-h
Indique si le fichier de données contient un en-tête de table. Valeur par défaut : False (aucun en-tête). Si vous définissez ce paramètre sur True, le fichier inclura un en-tête.
RemarqueLes options
-h=trueetthreads>1sont incompatibles. L'expression threads>1 signifie que le nombre de threads est supérieur à 1. -
-limit
Limite le nombre de lignes à télécharger.
-
-ni
Définit l'indicateur de valeur NULL. Valeur par défaut : chaîne vide.
-
-rd
Spécifie le délimiteur de ligne utilisé dans le fichier de données local. Valeur par défaut :
\r\n. -
-sd
Définit le répertoire de session.
-
-t
Indique le nombre de threads. Valeur par défaut : 1.
-
-te
Spécifie l'endpoint de Tunnel.
-
-time
Active ou désactive le suivi du temps écoulé lors du téléchargement. Valeur par défaut : False.
-
-tz
Définit le fuseau horaire. Le fuseau horaire local est utilisé par défaut (par exemple, Asia/Shanghai).
-
-
Purge
-
Description
Supprime les fichiers journaux de Tunnel du répertoire de session.
-
Syntaxe
tunnel purge [n]; -
Paramètres
n : supprime les fichiers journaux de Tunnel plus anciens que le nombre de jours spécifié. Valeur par défaut : 3.
Upsert
-
Description
Cette opération combine les sémantiques UPDATE et INSERT pour l'écriture des données. Si aucune donnée correspondante n'est trouvée dans la table de destination, de nouvelles données sont insérées. Si les données existent déjà, elles sont mises à jour.
RemarquePour exécuter la commande
Upsertavec le client MaxCompute (odpscmd), utilisez la version 0.47 ou ultérieure.Seules les tables Transaction Table 2.0 prennent en charge l'écriture de données via l'instruction UPSERT.
-
Syntaxe
tunnel upsert[options] <path> <[project.]table[/partition]>Format :
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" -
Paramètres
-
Paramètres obligatoires
-
path
Indique le chemin et le nom du fichier de données à charger.
Deux méthodes permettent de spécifier le chemin du fichier. Si le fichier se trouve dans le répertoire
bindu client MaxCompute, définissez le paramètre path surfilename.extension. S'il est situé ailleurs, par exemple dansD:\test, indiquez son chemin absolu, tel queD:\test\filename.extension. La commande Tunnel n'impose aucune limite de taille de fichier et prend en charge le chargement de fichiers dépassant 10 Mo. Pour optimiser le chargement de fichiers volumineux, ajustez la taille de chaque bloc de données (100 MiB par défaut) à l'aide du paramètre -bs.RemarqueSous macOS, le paramètre path accepte uniquement les chemins absolus. Par exemple, si les fichiers de données sont stockés dans le répertoire
bindu client MaxCompute, vous devez définir le paramètre path selon le formatD:\MaxCompute\bin \File name.File name extension. -
[project.]table[/partition]
Indique le nom de la table cible pour le chargement des données. Pour une table partitionnée, spécifiez la partition de niveau le plus bas. Si la table n'appartient pas au projet actuel, précisez le projet auquel elle appartient.
-
-
Paramètres facultatifs
-
-acp
Crée automatiquement la partition cible si elle n'existe pas. Valeur par défaut : False.
-
-bs
Définit la taille du bloc de données chargé par Tunnel à chaque itération. Valeur par défaut : 100 MiB (1 MiB = 1024 × 1024 octets).
-
-c
Spécifie le format d'encodage du fichier de données. Par défaut, ce paramètre n'est pas spécifié et les données brutes sont téléchargées.
-
-cf
Indique si le fichier est au format CSV. Valeur par défaut : False.
RemarqueL'instruction UPSERT permet de charger uniquement des fichiers TXT et CSV. Le format TXT est utilisé par défaut. Pour charger un fichier CSV, configurez le paramètre
-cfet téléchargez la dernière version du client MaxCompute. -
-cp
Active ou désactive la compression du fichier de données local avant le chargement vers MaxCompute afin de réduire le trafic réseau. Valeur par défaut : True.
-
-dbr
Détermine si les données incorrectes (colonnes supplémentaires, manquantes ou types non concordants) doivent être ignorées. Valeur par défaut : False.
True : ignore toutes les données ne correspondant pas à la définition de la table. Par défaut, 1 000 enregistrements sont ignorés. Modifiez cette limite via le paramètre -mbr.
False : renvoie une erreur dès qu'une donnée incorrecte est détectée. Cela garantit que les données brutes de la table cible ne sont pas corrompues.
-
-dfp
Définit le format des données DATETIME. Le format par défaut est
yyyy-MM-dd HH:mm:ss. Pour une précision à la milliseconde, utilisez le format yyyy-MM-dd HH:mm:ss.SSS. Pour plus d'informations sur le type de données DATETIME, consultez la rubrique Évolutions des types de données. -
-fd
Spécifie le délimiteur de colonne utilisé dans le fichier de données local. Valeur par défaut : virgule (,).
-
-h
Indique si le fichier de données à charger contient un en-tête de table. Valeur par défaut : False (aucun en-tête autorisé). Si vous définissez ce paramètre sur True, le système ignore la première ligne (l'en-tête) et commence le chargement à partir de la deuxième ligne.
-
-mbr
Définit le nombre maximal d'enregistrements incorrects autorisés. Ce paramètre doit être utilisé conjointement avec -dbr et n'est effectif que lorsque -dbr est défini sur True. Si le nombre d'erreurs dépasse cette limite, le chargement s'arrête. Valeur par défaut : 1 000.
-
-ni
Définit l'indicateur de valeur NULL. Valeur par défaut : chaîne vide.
-
-qn : nom du quota Tunnel utilisé pour accéder à MaxCompute.
Connectez-vous à la console MaxCompute, sélectionnez une région, puis accédez à Workspace > Quotas dans le volet de navigation de gauche pour consulter le nom du quota. Pour plus d'informations, consultez la rubrique Ressources de calcul - Gestion des quotas.
-
-rd
Spécifie le délimiteur de ligne utilisé dans le fichier de données local. Valeur par défaut :
\r\n. -
-sd
Définit le répertoire de session.
-
-ss
Active ou désactive le mode de schéma strict. Valeur par défaut : True. Si ce paramètre est défini sur False, les données superflues sont ignorées et les champs manquants sont remplis avec NULL.
-
-te
Spécifie l'endpoint de Tunnel. Pour plus d'informations sur les endpoints, consultez la rubrique Endpoints.
-
-time
Active ou désactive le suivi du temps écoulé lors du chargement. Valeur par défaut : False.
-
-tz
Définit le fuseau horaire. Valeur par défaut : fuseau horaire local (par exemple, Asia/Shanghai). Pour plus d'informations, consultez la rubrique Fuseaux horaires.
-
-
Précautions
-
Le tableau suivant décrit les types de données.
Type de données
Description
STRING
Chaîne dont la longueur maximale est de 8 Mo.
BOOLEAN
Pour les chargements de fichiers, les valeurs acceptées sont True, False, 0 ou 1. Pour les téléchargements, seules les valeurs True ou False sont utilisées. La casse n'est pas significative.
BIGINT
Plage de valeurs : [-9223372036854775807,9223372036854775807].
DOUBLE
Nombre à 16 chiffres.
Lors du chargement, les données de ce type sont exprimées en notation scientifique.
Lors du téléchargement, les données de ce type sont exprimées sous forme numérique.
Valeur maximale : 1,7976931348623157E308.
Valeur minimale : 4,9E-324.
Infini positif : Infinity.
Infini négatif : -Infinity.
DATETIME
Par défaut, les données de type DATETIME sont chargées selon le fuseau horaire GMT+8. Vous pouvez spécifier le format via la ligne de commande. Lors du chargement de ce type de données, le format temporel doit être indiqué. Pour plus d'informations, consultez la rubrique Évolutions des types de données.
"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.Exemple :
tunnel upload log.txt test_table -dfp "yyyy-MM-dd HH:mm:ss" -
Null : chaque type de données peut contenir des valeurs nulles.
Par défaut, une chaîne vide indique une valeur nulle.
-
Le paramètre -null-indicator permet de spécifier une chaîne représentant une valeur nulle.
tunnel upload log.txt test_table -ni "NULL"
-
Format d'encodage : vous pouvez spécifier le format d'encodage du fichier. Valeur par défaut : UTF-8.
tunnel upload log.txt test_table -c "gbk" -
Délimiteur : les commandes Tunnel permettent de personnaliser les délimiteurs de fichier. Utilisez -record-delimiter pour les délimiteurs de ligne et -field-delimiter pour les délimiteurs de colonne.
Un délimiteur de ligne ou de colonne peut contenir plusieurs caractères.
Un délimiteur de colonne ne peut pas contenir un délimiteur de ligne.
Seuls les caractères d'échappement suivants sont pris en charge dans la ligne de commande : \r, \n et \t.
tunnel upload log.txt test_table -fd "||" -rd "\r\n"
Références
-
-
-
-