简体   繁体   English

对于具有相同参数值的相同分区的配置单元中的多个插入,插入覆盖

[英]Insert Overwrite for multiple inserts in hive which have the same partition with same parameter value

Hi Guys, 嗨,大家好,

So I am trying to do multiple inserts and i am successfully able to do it but if there are two queries which have same partition and static value assigned it gives me the following error :15:02:22 [EXPLAIN - 0 row(s), 0.000 secs] [Error Code: 10087, SQL State: 42000] Error while compiling statement: FAILED: SemanticException [Error 10087]: The same output cannot be present multiple times: table_name@id=0 因此,我尝试执行多次插入操作,并且能够成功完成此操作,但是如果有两个具有相同分区和静态值的查询,则会给我以下错误:15:02:22 [EXPLAIN-0 row(s) ,0.000秒] [错误代码:10087,SQL状态:42000]编译语句时发生错误:失败:SemanticException [错误10087]:不能多次显示相同的输出:table_name @ id = 0
here first insert happens successfully but because second insert has the same value assigned for id which is 0 ..it gives the above error ..please let me know a workaround.Thanks :) 在这里第一次插入成功发生,但是因为第二次插入具有为id分配的相同值,即0 ..它给出了以上错误..请让我知道一种解决方法。谢谢:)

FROM (  
      Select * from Table_Name
     )Query
INSERT OVERWRITE TABLE Table_Name PARTITION(id=0)
 select column1,column2,column3
 GROUP BY column1,column2,column1

INSERT OVERWRITE TABLE Table_Name PARTITION(id=0) 
   select column1,count(*) as column2 

Instead of multiple inserts, you can just do one insert with a union of the two queries. 您可以只用两个查询的并集执行一个插入操作,而不必进行多个插入操作。

FROM (  
      Select * from Table_Name
     )Query
INSERT OVERWRITE TABLE Table_Name PARTITION(id=0)
  select <query 1>
  UNION ALL
  select <query 2>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM