暂无个人介绍
WHERE ds >='20170911' AND ds<='20170917'
FAILED: ODPS-0130111:Subquery partition pruning exception -records returned from subquery exceeded limit of 1000.
这个错误码出镜率不会太高,但绝对会很容易让同学困惑。因为提示信息中有【partition】关键词,所以不少同学在拍错时会被引入【分区】的歧途,从而越分析越迷茫。
其实这个提示信息是说查询语句中IN关键词对应的嵌套子查询所返回的结果记录数超过了1000的上限值。
应对措施是,将IN部分改写为JOIN形式即可。
最多6级分区,最多20000个。
TRUNCATE TABLE 命令只能应用于非分区表。
1.可以删除分区:
ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec;
2.可以向分区中,用【覆盖模式】插入0条记录:
INSERT OVERWRITE TABLE testtable PARTITION (partcol1=val1, partcol2=val2 ...) SELECT col1,col2,…… FROM testtable WHERE 1=2;
WHERE条件中使用分区列,对参与计算的数据量会有影响的,可以看看这篇文章https://yq.aliyun.com/articles/197126?spm=5176.8091938.0.0.uFLHOY,里面有写的偏颇之处也请斧正
公共云暂时不支持Python的UDF,转Java方向的UDF吧。
查询SQL语句中是否有IN关键词,并且IN()中的条件使用的是嵌套子查询?
针对此种情况MaxCompute限制IN中嵌套子查询返回的结果集记录数不能超过1000,所以遇到这种情况时,需要将IN改写为JOIN的形式。
查询SQL语句中是否有IN关键词,并且IN()中的条件使用的是嵌套子查询?
针对此种情况MaxCompute限制IN中嵌套子查询返回的结果集记录数不能超过1000,所以遇到这种情况时,需要将IN改写为JOIN的形式。
查询SQL语句中是否有IN关键词,并且IN()中的条件使用的是嵌套子查询?
针对此种情况MaxCompute限制IN中嵌套子查询返回的结果集记录数不能超过1000,所以遇到这种情况时,需要将IN改写为JOIN的形式。
查询SQL语句中是否有IN关键词,并且IN()中的条件使用的是嵌套子查询?
针对此种情况MaxCompute限制IN中嵌套子查询返回的结果集记录数不能超过1000,所以遇到这种情况时,需要将IN改写为JOIN的形式。