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