【发布时间】:2018-08-24 22:20:44
【问题描述】:
我有一个 Hive 表,我想在其中查找某个位置/工作日的值的第 10 个百分位数、中位数和第 90 个百分位数。下表的模型如下。如何编写查询,以便输出表列是 MyValue 的位置、工作日、第 10 个百分位、中位数和第 90 个百分位? (假设实际的表有很多不同的位置和每个位置/工作日组合的多个条目)
我试过了:
create table myschema.my_output_table as
select location, weekday,
percentile(MyValue,0.1) over location,weekday as Weekday10pctile
from myschema.my_input_table
样本数据:
Location Weekday MyValue
Location_A Monday 2.844958857
Location_A Monday 1.22455235
Location_A Monday 2.415189236
Location_A Monday 2.162431558
Location_A Tuesday 2.200264375
Location_A Tuesday 1.218341845
Location_A Tuesday 1.668882003
Location_A Tuesday 0.077343061
Location_A Wednesday 2.977162672
Location_A Wednesday 2.059018125
Location_A Wednesday 2.309147998
Location_A Wednesday 1.241566476
【问题讨论】:
-
到目前为止你尝试了什么?