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}中。
当然如果还是觉得规则比较复杂的话,那最好的方法就是每次都把过滤条件写到子查询中。

更多信息

MaxCompute SQL中的关联操作

适用于

  • Dataphin。
阿里云首页 相关技术圈