hive-jdbc JDBC Синтаксис побега - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть таблица кустов:

CREATE TABLE FOO (
   a string,
   b double,
   enumerator bigint
) PARTITIONED BY (
   asof_date date
)

, когда я пытаюсь выполнить запрос с помощью hive-jdbc, сгенерированный выбор:

  select * from FOO where asof_date = {ts '2015-05-15 00:00:00'}

Улей завершился ошибкой:

 ParseException line 1:36 cannot recognize input near '{' 'ts' ''2015-05-15 00:00:00'' in expression

как я могу это исправить?

1 Ответ

0 голосов
/ 06 декабря 2018

В более старых версиях Hive не было надлежащих типов DATE или TIMESTAMP, или, скорее, они всегда сохранялись в виде строки в формате ODBC.

Другими словами where asof_date = '2015-05-15' должно работать очень хорошо.

Или в формальном синтаксисе SQL = date'2015-05-15'.
Или более многословно = cast('2015-05-15' as DATE)

...