Dataphin周期任务查询对应的分区,报其他分区错误
更新时间:
问题描述
本文主要解决Dataphin周期任务查询对应的分区,报其他分区错误。
问题原因
报错提示20211122分区存在问题。然而客户并没有对20211122分区数据进行操作。经过和客户沟通了解到昨天两个人同时对20211122分区进行补数据后来停止过一个补数据任务。查看sql语句客户这样写会导致右表查询所有分区,对于MaxCompute来说有些条件表达式是不会进行上推的,上推后的数据会不一致。
解决方案
1.可以将报错分区数据在补一次数据。
2.修改sql。
过滤条件放在不同的位置语义可能大不相同,对于用户而言,如果只是进行过滤数据后再JOIN的操作,可以简要记住以下几点。
1.INNER JOIN/LEFT SEMI JOIN 对于两侧的表达式可以随便写。
2.LEFT JOIN/LEFT ANTI JOIN 左表的过滤条件要放到{subquery_where_condition}或者{where_condition},右表的过滤条件要放到 {subquery_where_condition}或者{on_condition}中。
3.RIGHT JOIN和LEFT JOIN相反,右表的过滤条件要放到{subquery_where_condition}或者{where_condition},左表的过滤条件要放到 {subquery_where_condition}或者{on_condition}。
4.FULL OUTER JOIN 只能放到{subquery_where_condition}中。
当然如果还是觉得规则比较复杂的话,那最好的方法就是每次都把过滤条件写到子查询中。
更多信息
适用于
- Dataphin。
反馈
- 本页导读
文档反馈