2016-05-13 8 views
0

Ich versuche herauszufinden, eine Arbeit für die Tatsache, dass HIVE korrelierte Unterabfragen nicht unterstützt. Letztendlich habe ich gezählt, wie viele Gegenstände in den Daten jede Woche im letzten Monat existieren, und jetzt möchte ich wissen, wie viele Gegenstände diese Woche ausgefallen sind, zurück gekommen sind oder völlig neu sind. Wäre nicht zu schwer, wenn ich eine Where-Subquery verwenden könnte, aber ich habe eine harte Zeit, ohne sie zu arbeiten.Working around nicht unterstützt Correlated Where Unterabfragen in Hive

Select 
count(distinct item) 
From data 
where item in (Select item from data where date <= ("2016-05-10")) 
And date between "2016-05-01" and getdate() 

Jede Hilfe wäre großartig. Vielen Dank.

Antwort

1

Work around ist links Join mit zwei Ergebnismenge und wo zweite Ergebnismenge Spalte ist Null.

dh

 Select count (a.item) 
      from 
       (select distinct item from data where date between "2016-05-01" and getdate()) a 
      left join (Select distinct item from data where date <= ("2016-05-10")) b 
      on a.item =b.item 
      and b.item is null 
+0

Das eine Tonne geholfen, vielen Dank! –