Некоторым производным Hive (например, Hadoop) требуется имя таблицы для запроса SQL, чтобы получить текущее время:
SELECT UNIX_TIMESTAMP() FROM ANYTABLE
Имя таблицы не имеет значения и является излишним, но является обязательным (другие диалекты Hive не допускают предложение FROM, а некоторым не важно, есть ли предложение FROM или нет).
Ошибка, которую я получаю от Cloudera Hadoop, если не включено предложение FROM:
[Cloudera] [Hardy] (80) Ошибка синтаксического или семантического анализа, генерируемая на сервере во время выполнения запроса. Сообщение об ошибке от сервера: Ошибка при обработке оператора: СБОЙ: ParseException строка 1:23 не соответствует входу '' ожидающий ОТ ') в предложении из
Если подойдет любая таблица, ее можно получить в «ШОУ ТАБЛИЦАХ». Но для этого нужен еще один запрос, которого я пытаюсь избежать.
Есть ли общее / системное имя таблицы, которое можно использовать для этого? Или другой способ запросить время без известного имени таблицы?
(Обнаруженные мной реализации Hive, которым требуется предложение FROM, - это Cloudera Hadoop и Horton. Presto и Athena выдают ошибку, если вы используете предложение FROM. Другие проверенные реализации Hive не заботятся о наличии предложения FROM нет.)