•产生原因
。原因一:网络未连通。
。原因二:表或分区的小文件太多。
•解決措施
原因一的解决措施:
在报错设备的命令行窗口,使用curl 命令连接报错信息中的Tunnel Endpoint,验证是否可以正常访问。
如果可以正常访问,会返回如下信息。此时请跳过该步骤,
根据下方原因二的解决措施进行处理。
{
"Code": "Unauthorized",
"Message": "The reguest authorization header is invalid or missing."
}
•如果无法正常访问,请检查并修改Tunnel Endpoint配置。
外网的Tunnel Endpoint以aliyun.com结尾,经典网络或VPC网络的Tunnel Endpointl以aliyun-inc.com结尾。根据实际业务情况配置正确的Tunnel Endpoint。更多Tunnel Endpoint信息,参见
Endpoint。
说明:如果通过外网设备访问经典网络或VPC网络的Tunnel Endpoint, 或者通过经典网络或VPC网络设备访问外网的Tunnel Endpoint,有可能网络不通。
原因二的解决措施:
通过MaxCompute客户端或DataWorks客户端执行desc
extended命令,查看表或分区的文件数量。
desc extended <table name> [parrtition(partition_spec)] ;
返回结果中的FileNum即为文件数量。当文件数量超过1000个时,需要
合并小文件。
如果项目还使用了Instance Tunnel下载数据,同样受表文件数量影响。当文件数量过多时,就会存在超时问题。如果不需要下载SQL结果数据,可以关闭instance Tunnel,SQL的效果,可以添加WHERE条件,例如查找没有NULL值的列,可以添加where xxx not nul语句,生成一份临时数据,不需要全表扫描。