Instance Tunnel 使用
1. 执行一条 select 查询:
odps@ odps_test_project>select * from wc_in;
ID = 20170724071705393ge3csfb8
2.使用 Instance Tunnel Download 命令下载执行结果到本地文件
odps@ odps_test_project> tunnel download -h true -cf true instance://huorong_bigdata/20220329031048178gumx85t32 C:\Users\HR\Desktop\weekReport\工作日周三.csv;\
2017-07-24 15:18:47 - new session: 2017072415184785b6516400090ca8 total lines: 8
2017-07-24 15:18:47 - file [0]: [0, 8), result
downloading 8 records into 1 file
2017-07-24 15:18:47 - file [0] start
2017-07-24 15:18:48 - file [0] OK. total: 44 bytes
download OK
// 查看结果
cat result
slkdfj
hellp
apple
tea
peach
apple
tea
teaa
参数说明
命令:
tunnel download instance://<[project_name/]instance_id> <path>
注意
odps默认设置了以下参数
instance_tunnel_max_record=10000
下载行数受限制在1w行以内,大表的话去odps_config.ini文件里把它注掉,下载就不会有行数限制了
参数说明
必选参数
path
下载数据文件的路径以及名称。
数据文件的归档路径有两种选择:您可以将文件直接归档至MaxCompute客户端的bin目录中,此时path需要设置为文件名.后缀名;也可以将文件归档至其他路径下,例如D盘的test文件夹,path需要设置为D:\test\文件名.后缀名。
[project.]table[/partition]
目标表表名。如果是分区表,需要指定至最末级分区。如果不是当前空间的表,需要指定表所在的空间名。
可选参数
-acp
如果指定分区不存在,自动创建目标分区。默认值为False。
-bs
指定每次上传至Tunnel的数据块大小。默认值为100 MiB(1 MiB=1024×1024 Byte)。
-c 【UTF-8 、GBK】
指定本地数据文件编码。默认不设定,下载源数据。
-cf
指定是否为CSV文件,默认值为False。
说明 Upload仅支持TXT、CSV格式文件,默认上传TXT文件。如果上传CSV文件,需要指定-cf参数,同时请下载最新版本的MaxCompute客户端。
-cp
指定是否在本地压缩数据后再上传,减少网络流量。默认值为True。
-dbr
指定是否忽略脏数据(多列、少列、列数据类型不匹配等情况)。默认值为False。
True:忽略全部不符合表定义的数据。
False:如果遇到脏数据,则给出错误提示信息,目标表内的原始数据不会被污染。
-dfp
指定DATETIME类型数据格式,默认为yyyy-MM-dd HH:mm:ss。如果您想指定时间格式到毫秒级别,可以使用tunnel upload -dfp 'yyyy-MM-dd HH:mm:ss.SSS'。DATETIME数据类型详情请参见数据类型版本说明。
-fd
指定本地数据文件的列分割符。默认值为英文逗号(,)。
-h
指定数据文件是否包括表头。默认值为False。如果为True,则dship会跳过表头从第二行开始上传数据。
-mbr
指定可容忍的脏数据量。超过此数据量时,终止上传。默认值为1000条。
-ni
指定NULL数据标识符。默认值为空字符串。
-ow
指定上传数据是否覆盖表或分区。默认值为False,上传数据为累加方式。示例如下。
tunnel upload -overwrite true log.txt test_project.test_table/p1="b1",p2="b2";
-rd
指定本地数据文件的行分割符。默认值为\r\n。
-s
指定是否扫描本地数据文件。默认值为True。
True:先扫描数据,若数据格式正确,再导入数据。
False:不扫描数据,直接导入数据。
Only:仅扫描本地数据,扫描结束后不继续导入数据。
-sd
指定Session目录。
-ss
指定严格架构模式。默认值为True。如果为False,多余的数据将被丢弃,不足的字段将填充NULL。
-t
指定Threads的数量。默认值为1。
-te
指定Tunnel的Endpoint。
-time
指定是否跟踪上传所用时间。默认值为False。
-tz
指定时区。默认值为本地时区,例如Asia/Shanghai。