課程
/云計算&大數據
/大數據
/走近大數據之Hive入門
哈希運算和索引怎么提高查詢效率,一直不大明白
2017-04-03
源自:走近大數據之Hive入門 6-5
正在回答
這里有兩個問題:
1 哈希運算
2 索引
關于第一個問題,我猜你是指Hive的bucket table吧?假如我沒猜錯,那hash計算達到的目的其實是將數據切片,這樣這些數據片可以比較均勻得分布在分布式系統的不同的節點上,查詢的時候呢也可以盡量運用多個節點的并行計算能力來提高查詢速度。
第2個問題,索引是一種數據結構,比如紅黑樹。設想一下,如果要從10個數字里找出任意一個數字所在的位置,如果不借助數據結構,就必須逐一核實(從位置1到位置10,一個個確認是不是要找的數字),而將數據用數據結構組織起來(二分查找法),則可以先從中間找起來,如果找的數字比中間的位置大,則從右邊繼續找(也是從右半部分的中間開始查詢),反之則從左邊開始查??梢詤⒖歼@個:http://baike.baidu.com/item/%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE/10628618
舉報
Hive是基于HDFS的數據倉庫,教程將向大家介紹Hive的體系結構
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-04-10
這里有兩個問題:
1 哈希運算
2 索引
關于第一個問題,我猜你是指Hive的bucket table吧?假如我沒猜錯,那hash計算達到的目的其實是將數據切片,這樣這些數據片可以比較均勻得分布在分布式系統的不同的節點上,查詢的時候呢也可以盡量運用多個節點的并行計算能力來提高查詢速度。
第2個問題,索引是一種數據結構,比如紅黑樹。設想一下,如果要從10個數字里找出任意一個數字所在的位置,如果不借助數據結構,就必須逐一核實(從位置1到位置10,一個個確認是不是要找的數字),而將數據用數據結構組織起來(二分查找法),則可以先從中間找起來,如果找的數字比中間的位置大,則從右邊繼續找(也是從右半部分的中間開始查詢),反之則從左邊開始查??梢詤⒖歼@個:http://baike.baidu.com/item/%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE/10628618