1

我有包含每日记录的配置单元表。我想从工作日中选择记录。所以我使用波纹管蜂巢查询来做到这一点。我正在使用 QUBOLE API 来执行此操作。

SELECT      hour(pickup_time),
            COUNT(passengerid)
FROM        home_pickup
WHERE       CAST(date_format(pickup_time, 'u') as INT) NOT IN (6,7)
GROUP BY    hour(pickup_time) 

但是,当我运行此代码时,它带有波纹管错误。

SemanticException [错误 10011]:第 4:12 行无效函数“date_format”

Qbole 不支持 date_format 函数吗?还有其他方法可以选择工作日吗?

4

1 回答 1

1

用于unix_timestamp(string date, string pattern)将给定的日期格式转换为从 1970-01-01 过去的秒数。然后用于from_unixtime()转换为给定格式:

演示:

hive> select cast(from_unixtime(unix_timestamp('2017-08-21 10:55:00'),'u') as int);
OK
1

您可以为 unix_timestamp 指定非标准格式的日期模式。请参阅此处的文档:https ://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions

于 2017-08-21T12:10:21.023 回答