hive-jdbc JDBC转义语法

时间:2018-12-06 11:09:01

标签: jdbc hive hiveql

我有蜂巢表:

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 :(得分:0)

在较早版本的Hive中,没有正确的DATE或TIMESTAMP类型,或者说,它们始终以ODBC格式存储为字符串。

换句话说,where asof_date = '2015-05-15'应该可以正常工作。

或使用正式的SQL语法= date'2015-05-15'
或更冗长的= cast('2015-05-15' as DATE)