配置单元不支持合并功能

问题描述 投票:0回答:1

试图将值从表更新到另一个表,这两个表都具有相同的字段名但不同的值,查询必须在任何普通数据库上正常工作,但在这里返回

编译语句时出错:FAILED:ParseException第1:0行无法识别'MERGE''INTO''FINAL'附近的输入

MERGE 
INTO FINAL 
USING FIRST_STAGE
ON IMSI = FIRST_STAGE.IMSI and Site = FIRST_STAGE.Site
WHEN MATCHED THEN UPDATE SET
  Min_Date = least(FIRST_STAGE.Min_Date, Min_Date),
  Max_Date = greatest(FIRST_STAGE.Max_Date, Max_Date),
  NoofDays = FIRST_STAGE.NoofDays + NoofDays,
  Down_Link = FIRST_STAGE.Down_Link + Down_Link,
  up_Link = FIRST_STAGE.up_Link + up_Link,
  connection = FIRST_STAGE.connection + connection
WHEN NOT MATCHED THEN INSERT ( Min_Date, 
  Max_Date, 
  NoofDays, 
  IMSI, 
  Site, 
  Down_Link, 
  Up_Link, 
  Connection )
VALUES ( FIRST_STAGE.Min_Date, 
  FIRST_STAGE.Max_Date, 
  FIRST_STAGE.NoofDays, 
  FIRST_STAGE.IMSI, 
  FIRST_STAGE.Site, 
  FIRST_STAGE.Down_Link, 
  FIRST_STAGE.Up_Link, 
  FIRST_STAGE.Connection )
hive hiveql cloudera-manager
1个回答
1
投票

Hive合并声明在Hortonworks distribution中引入。

  • 这些merge statement运行的先决条件是: 需要使用transactional enabled ,ORC format ,and bucketed创建决赛桌。

AFAIK在Cloudera distribution的情况下,我们需要使用Kuducloudera-5.10+开始执行upsert操作。

注意:Upsert statement only works for Impala tables that use the Kudu storage engine.

  • 我认为我们不能像现在这样在CDH发行版中的帖子中提到合并语句。
© www.soinside.com 2019 - 2024. All rights reserved.