MaxCompute通过Tunnel实现上传下载数据功能。本文为您介绍如何通过Tunnel上传、下载数据。
Tunnel操作详情请参见Tunnel命令。常用命令如下:
| 类型 | 功能 | 角色 | 操作入口 | 
| 将本地文件的数据上传至MaxCompute的表中,以追加模式导入。 | 具备修改表权限(Alter)的用户。 | ||
| 将MaxCompute表数据或指定Instance的执行结果下载至本地。 | 具备读取表数据权限(Select)的用户。 | 
上传数据
将本地文件数据以追加模式导入至 MaxCompute 表中,数据上传过程不产生费用。
- 使用限制 - 支持文件或目录(指一级目录)的上传,每一次仅支持上传到一张表或表的一个分区。 
- 分区表一定要指定上传的分区,多级分区一定要指定到末级分区。 
 
- 命令格式 - Tunnel upload <path> [<project_name>.]<table_name>[/<pt_spc>];
- 参数说明 - path:必填。上传数据文件的存放路径以及文件名称。默认上传的数据文件为TXT格式。 - 数据文件的归档路径有两种选择:您可以将文件直接归档至MaxCompute客户端的 - bin目录中,此时path需要设置为- 文件名.后缀名;也可以将文件归档至其他路径下,例如D盘的test文件夹,此时path需要设置为- D:\test\文件名.后缀名。说明- macOS系统中path值只能使用绝对路径,例如文件归档在MaxCompute客户端的 - bin目录中,此时path需要设置为- /Users/username/MaxCompute/bin/文件名.后缀名。
- project_name:可选。目标表所属项目空间名称。跨项目空间访问表时需要指定该参数。 
- table_name:必填。目标表名。 
- pt_spc:可选。需要指定至最末级分区。格式为 - partition_col1=col1_value1, partition_col2=col2_value1...。
 
- 使用示例 - 示例1:将log.txt中的数据上传至当前项目空间的表test_table中。log.txt文件归档在MaxCompute客户端的 - bin目录中。命令如下。- Tunnel upload log.txt test_table;
- 示例2:将log.txt中的数据上传至项目空间test_project的表test_table(二级分区表)中的 - p1="b1",p2="b2"分区。log.txt文件归档在D盘的test文件夹中。命令如下。- Tunnel upload D:\test\log.txt test_project.test_table/p1="b1",p2="b2";
 
下载数据
将MaxCompute表数据或指定Instance的执行结果下载至本地。MaxCompute仅对公网的数据下载,按照下载的数据大小进行计费,一次下载费用=下载数据量(GB)×下载价格(0.8元/GB)。
- 使用限制 - 每次操作仅支持将一张表或一个分区的数据下载到单个文件中。 
- 分区表一定要指定下载的分区,多级分区一定要指定到末级分区。 
 
- 命令格式 - Tunnel download [<project_name>.]<table_name>[/<pt_spc>] <path>;
- 参数说明 - project_name:可选。目标表所属项目空间名称。跨项目空间访问表时需要指定该参数。 
- table_name:必填。目标表表名。 
- pt_spc:可选。需要指定至最末级分区。格式为 - partition_col1=col1_value1, partition_col2=col2_value1...。
- path:必填。下载数据文件的存放路径以及文件名称。默认下载的数据文件为TXT格式。 - 数据文件的保存路径有两种选择:您可以将文件直接下载至MaxCompute客户端的 - bin目录中,此时path需要设置为- 文件名.后缀名;也可以将文件下载至其他路径下,例如D盘的test文件夹,此时path需要设置为- D:\test\文件名.后缀名。
 
- 使用示例 - 示例1:将test_project.test_table表(二级分区表)中的数据下载到test_table.txt文件中。test_table.txt文件位于MaxCompute客户端的 - bin目录中。命令如下。- Tunnel download test_project.test_table/p1="b1",p2="b2" test_table.txt;
- 示例2:将test_project.test_table表(二级分区表)中的数据下载到test_table.txt文件中。test_table.txt文件位于D盘的test文件夹中。命令如下。 - Tunnel download test_project.test_table/p1="b1",p2="b2" D:\test\test_table.txt;