全部产品
云市场

MaxCompute之Tunnel命令相关问题

更新时间:2017-11-04 22:26:31

Q:是否支持 ascii 字符的分隔符?

A:命令行方式不支持,配置文件可以用十六进制表示。如 \u000A,表示回车。

Q:文件大小是否有限制?

A:文件大小没有限制,但一次 upload 无法超过 24 小时,可以根据实际上传速度和时间来估算能够上传的数据量。

Q:记录大小是否有限制?

A:记录大小不能超过 200M。

Q:是否要使用压缩?

A:默认会使用压缩,如果带宽允许的情况下,可以关掉压缩。

Q:同一个表或 partition 是否可以并行上传?

A:可以。

Q:是否支持不同字符编码?

A:支持不同的编码格式参数,带 bom 标识文件不需要指定编码。

Q:导入后的脏数据怎么处理?

A:导入结束后,如果有脏数据可以通过 tunnel show bad [sessionid] 查看脏数据。

Q:上传下载的文件路径是否可以有空格?

A:可以有空格,参数需要用双引号括起来。

Q:为什么会出现乱码?

A:可能是上传文件的字符编码和工具指定的编码不符。

Q:导入数据最后一列为什么多出\r符号?

A:windows 的换行符是\r\n,macosx 和 linux 的换行符是\n,tunnel 命令使用系统换行符作为默认列分隔符,所以从 macosx 或 linux 上传 windows 编辑保存的文件会把\r作为数据内容导进去。

Q:Tunnel 下载/上传速度正常速度范围是多少?

A:Tunnel 下载上传,受网络因素影响较大,正常网络情况下速度范围在 1MB/s-20MB/s 区间内。

Q:Tunnel 域名是什么?

A:不同 region 对应不同的域名,详情请参见 访问域名和数据中心

Q:无法上传/下载怎么办?

A:找到配置中配置的 tunnel 域名,通过 curl -i 域名例如 curl -i http://dt.odps.aliyun.com 测试网络是否连通,若无法连通请检查机器网络或更换为正确的域名。

Q:上传/下载速度缓慢怎么办?

A:您可以从以下几方面进行检查:

  • 检查机器网络状态,ping tunnel_endpoint 域名延迟是否异常。

  • 检查流量状态, 通过 ifstat 等命令检查客户端机器流量是否满载。

  • 若为 ECS 机器,请检查是否使用的公网域名而不是跨域或 ECS 域名,若使用公网域名,请检查 ECS 的带宽使用情况是否打满或更换域名。

Q:报 Java heap space FAILED: error occurred while running tunnel command 错误怎么办?

A:若出现上述错误,您可以从以下几方面进行解决:

  • 若是上传数据,应当是单行数据太大导致,与整体文件的大小无关。先确认是不是分隔符没写对,导致所有数据都搞到一行 record 里去了。

  • 若是分隔符没写错,您文件中的单行数据的确很大,那么就是 console 程序的内存不够用了,需要调整 console 进程启动的参数。

    具体方法:打开 odpscmd 脚本,适当增加 java 进程启动选项中的内存值 。如 java -Xms64m -Xmx512m -classpath "${clt_dir}/lib/*:${clt_dir}/conf/"com.aliyun.openservices.odps.console.ODPSConsole "$@" 中将 -Xms64m -Xmx512m 的值增大即可。

  • 若是下载数据,可能是数据量太大,console 程序的内存不够用了。打开 odpscmd 脚本,适当增加 java 进程启动选项中的内存值 。如 java -Xms64m -Xmx512m -classpath"${clt_dir}/lib/*:${clt_dir}/conf/"com.aliyun.openservices.odps.console.ODPSConsole "$@" 中将 `-Xms64m -Xmx512m`` 的值增大即可。

Q:Tunnel 需注意的分隔符问题有哪些?

A:Tunnel 需要注意的分隔符问题,如下所示:

  • 列分隔符 fd 不能包含行分隔符 rd。

  • 行分隔符 rd。

  • 默认值: \r\n (windows) 和 \n(linux)。

  • 上传开始的时候会打印提示信息,告知本次上传所使用的行分隔符(0.21.0 版本及以后)供用户查看和确认。

  • 列分隔符 fd。

  • 默认值:, (逗号)。