0
以下是数据集我在名为一个蜂巢表推temp_stat:表定义问题阿帕奇HIVE
COUNTRY CITY TEMP
---------- -------------------- -----
US Arizona 51.7
US California 56.7
US Bullhead City 51.1
India Jaisalmer 42.4
Libya Aziziya 57.8
Iran Lut Desert 70.7
India Banda 42.4
当我试图查看数据虽然选择命令,然后我得到以下数据集:
US,Arizona,51.7 NULL NULL
US,California,56.7 NULL NULL
US,Bullhead City,51.1 NULL NULL
India,Jaisalmer,42.4 NULL NULL
Libya,Aziziya,57.8 NULL NULL
Iran,Lut Desert,70.7 NULL NULL
India,Banda,42.4 NULL NULL
接下来,我想这组记录自卑的国家,每个COUNTR取最高温度与该城市名称沿Y,所以我跑下面的查询:
select country,city,temp
from (
select country,city,temp,
row_number() over (partition by country order by temp desc) as part
from temp_stat
) a
where part = 1
order by country, city;
有一次,我跑在蜂巢外壳上面的查询,我得到以下结果:
US,Arizona,51.7 NULL NULL
US,California,56.7 NULL NULL
US,Bullhead City,51.1 NULL NULL
India,Jaisalmer,42.4 NULL NULL
Libya,Aziziya,57.8 NULL NULL
Iran,Lut Desert,70.7 NULL NULL
India,Banda,42.4 NULL NULL
即使我跑内部查询生成row_number然后我也得到类似的行号为所有记录。 (像这样的东西:)
India,Banda,42.4 NULL NULL 1
India,Jaisalmer,42.4 NULL NULL 1
Iran,Lut Desert,70.7 NULL NULL 1
Libya,Aziziya,57.8 NULL NULL 1
US,Arizona,51.7 NULL NULL 1
US,Bullhead City,51.1 NULL NULL 1
US,California,56.7 NULL NULL 1
enter code here
我也试过DENSE_RANK()和秩()。没有新的结果。表格定义有什么问题吗?
所有帮助将不胜感激!
是我的查询是不是给我正确的输出的原因? – hashir
是的。您的表格未正确定义。整行被映射到第一列,所有其他列都包含空值。 –
谢谢队友! 桌子真的是问题所在。我跟着你的方法,同样加载数据,我的查询运行得很顺利。虽然有这个问题。当我运行以下查询: 从temp_stat中选择国家,城市,温度,排名()(按国家/地区排序按 temp desc划分)排名; – hashir