hive не может изменить тип столбца Недопустимая ссылка столбца [duplicate]

Вот еще одно решение для получения записей только с полем, которое имеет максимальное значение для этого поля. Это работает для SQL400, на котором я работаю. В этом примере записи с максимальным значением в поле FIELD5 будут получены следующим оператором SQL.

SELECT A.KEYFIELD1, A.KEYFIELD2, A.FIELD3, A.FIELD4, A.FIELD5
  FROM MYFILE A
 WHERE RRN(A) IN
   (SELECT RRN(B) 
      FROM MYFILE B
     WHERE B.KEYFIELD1 = A.KEYFIELD1 AND B.KEYFIELD2 = A.KEYFIELD2
     ORDER BY B.FIELD5 DESC
     FETCH FIRST ROW ONLY)
5
задан Chris Njuguna 17 July 2015 в 13:04
поделиться

2 ответа

Немного копания показало, что у JiveA улья есть команда точно для обновления типа данных столбца раздела ( https://issues.apache.org/jira/browse/HIVE-3672 )

alter table {table_name} partition column ({column_name} {column_type});

Согласно JIRA, команда была реализована, но очевидно, что она никогда не документировалась в Hive Wiki.

Я использовал ее в своей системе Hive 0.14, и она работала как ожидалось.

11
ответ дан Rohit Gupta 27 August 2018 в 18:58
поделиться

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

Я рекомендую вам:

  1. Сделать внешнюю таблицу (если вы определяете ее как внешнюю таблицу). В этом случае вы можете отказаться от таблицы, не удаляя данные в каталогах.
  2. Отбросьте таблицу.
  3. Создайте снова таблицу с новой схемой (значение раздела как строка).

Вышеупомянутые шаги, физически (папки структуры), не будут иметь никакого отношения к структуре, которую вы уже имели. Разница будет в метафоре «Улья», особенно в «виртуальном столбце», создаваемом при создании разделов.

Кроме того, теперь вместо этого делать запросы наподобие: part_col = 1, теперь вы сможете сделать запросы вроде: part_col = '1'.

Попробуйте это и расскажите мне, как это происходит.

-1
ответ дан dbustosp 27 August 2018 в 18:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: