Улей: исключение для выбора, но не для порядка выбора по

У меня очень простая таблица в улье, транзакционная, хранящаяся как ORC, 10 столбцов (включая 2 отметки времени), 40 строк.

Если я select * из этой таблицы (через билайн), я получаю такую ​​ошибку:

java.sql.SQLException: Unrecognized column type:TIMESTAMP_TYPE at org.apache.hive.jdbc.HiveBaseResultSet.getColumnValue(HiveBaseResultSet.java:428) at org.apache.hive.jdbc.HiveBaseResultSet.getObject(HiveBaseResultSet.java:463)

Если я выберу только столбцы, которые не являются метками времени, я получу ожидаемый результат. Если я выберу любой столбец с меткой времени, я получу исключение.

Если бы я select * order by any column, то тоже получил ожидаемый результат.

Я не понимаю, что здесь происходит, и не могу найти никакой документации в Интернете. Есть идеи, в чем может быть проблема?

Контекст: улей 2.1, hdp 2.6

Можете ли вы выполнить тот же запрос из пользовательского интерфейса, такого как Ambari, и проверить, появляется ли у вас такая же ошибка?

Vamsi Prabhala 26.09.2018 20:57

@VamsiPrabhala да, та же ошибка.

Guillaume 26.09.2018 20:59

какой формат метки времени?

Vamsi Prabhala 26.09.2018 21:01

Не уверен, что вы имеете в виду. Данные уже есть в таблице, так как insert прошел нормально. Насколько мне известно, тип временной метки - это временная метка. При просмотре данных получается, например, 2018-01-16 08:06:25.722.

Guillaume 27.09.2018 06:33
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
209
1

Ответы 1

Это означает, что ваш тип данных в файле отличается от типа данных столбца в таблице в кусте. Скорее всего, у вас есть строка в файле и отметка времени в таблице.

Я бы согласился с этим, если бы никогда не видел данных. Но когда у меня order by, то исключения не бывает. Именно эта непоследовательность беспокоит меня больше всего.

Guillaume 30.09.2018 20:12

Если вы можете добавить схему таблицы и оператор вставки для одной строки данных, это может быть полезно.

n1989 30.09.2018 20:54

Минималистичная схема - это (name string, created_on timestamp) stored as orc bucketed by name into 1 bucket TBLPROPERTIES ('transactional'='true') (синтаксис не гарантируется, на мой взгляд). Вставка представляет собой комплекс merge на основе таблицы avro.

Guillaume 30.09.2018 21:56

Avro не может иметь значение отметки времени, поэтому, вероятно, это строка в файле и отметка времени в таблице. попробуйте сделать select cast (created_on as timestamp) из таблицы, это должно сработать ...

n1989 30.09.2018 23:15

Приведение выполняется во время слияния, и мой вопрос все еще остается в силе: почему я не получаю исключение, если сортирую данные? Я был бы удивлен, если бы сортировка добавила неявное приведение.

Guillaume 01.10.2018 06:48

Другие вопросы по теме