在使用分区表和存储分区表连接表时,配置单元存储区联接(SMB)数据不匹配

时间:2019-01-19 00:51:30

标签: hive partition smb

我有一个配置单元查询,其中有4个表。所有表均按日期进行分区,并按相应的键列进行存储。

  1. 表A(主表)-按日期分区并按C1,C2,C3,C4存储
  2. 表A与列C1上的表B(按日期分区并按C1存储)结合在一起
  3. 表A与C2上的表C(按日期分区并按C2存储)结合在一起
  4. 表A与C3上的表D(按日期分区并按C3存储)结合在一起
  5. 其他表E也是如此。

以前,当我加入聚合结果时,我只对所有表进行了相应列的存储。

在存储分区之上引入分区后,联接未正确进行,并且缺少记录并且指标不正确。 我已将Sive联接所需的所有配置参数设置为true。

这是我的加入方式:

      FROM
        {schema_name}.A
      LEFT OUTER JOIN {schema_name}.B
        ON A.col1= B.col1
      LEFT OUTER JOIN {schema_name}.C
        ON B.col2 = C.col2
      LEFT OUTER JOIN {schema_name}.D
        ON C.col3 = D.col3
      LEFT OUTER JOIN {schema_name}.E
        ON D.col4 = E.col4
      WHERE A.datestr = '{process_date}'
        AND B.datestr = '{process_date}'
        AND C.datestr = '{process_date}'
        AND D.datestr = '{process_date}'
        AND E.datestr = '{process_date}'

为什么在进行分区和存储后,它不起作用?

0 个答案:

没有答案