Distinct в HIVE сохраняет все переменные

#sql #hive #distinct

#sql #улей #distinct

Вопрос:

Я хочу сохранить все 10 переменных из старой таблицы, но выбрать только отдельные записи на основе 3 переменных (var1 var2 var3), как мне сохранить все 10 переменных в новой таблице в HIVE? пример

(создайте новую таблицу, выбрав РАЗЛИЧНЫЕ var1, var2, var3 из старой);

Комментарии:

1. . . SQL использует термин «столбцы» для описания атрибутов в таблице, а не «поля».

Ответ №1:

Вы можете использовать row_number() — если вас не волнует, какие строки выбраны:

 select . . .    -- whatever columns you want
from (select t.*,
             row_number() over (partition by var1, var2, var3 order by var1) as seqnum
      from t
     ) t
where seqnum = 1
  

Комментарии:

1. Я должен был сказать, что у меня есть 100 столбцов / переменных, которые я не хочу перечислять, но если я выбираю *, это, похоже, не работает

2. @FunT . . . В вашем вопросе явно указывается уникальность для трех столбцов из 10. И эта та же идея работает. Вам нужно перечислить столбцы. Возможно, электронная таблица может помочь.

3. Спасибо, Гордон, приношу свои извинения, я новичок на этом форуме. Я опубликовал пример, надеюсь, это лучше объясняет, что мне нужно.