sql—使用自定义项查询配置单元中的表

pxy2qtax  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(374)

我在hive上提供了以下udf来转换时间 bigintdate , to_date(from_utc_timestamp(from_unixtime(cast(listed_time/1000 AS bigint)),'PST')) 我想使用这个自定义项查询特定日期的表。比如说,

SELECT * FROM <table_name> 
WHERE date = '2020-03-01'
ORDER BY <something>
LIMIT 10
cl25kdpy

cl25kdpy1#

我建议更改逻辑:避免将函数应用于要筛选的列,因为这是一种低效的方法。需要为每一行调用函数,这会阻止查询从索引中获益。
另一方面,您可以简单地将输入日期转换为unix时间戳(可能使用udf)。这应该看起来像;

SELECT * FROM <table_name> 
WHERE date = to_utc_timestamp('2020-03-01', 'PST') * 1000
ORDER BY <something>
LIMIT 10

相关问题