如何select记录工作日的记录?

How to select records from week days?

我有包含每日记录的配置单元 table。我想 select 从工作日开始记录。所以我使用下面的配置单元查询来做到这一点。我正在使用 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 [Error 10011]: Line 4:12 Invalid function 'date_format'

Qbole不支持date_format功能吗? select 工作日还有其他方法吗?

使用 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