2013-06-12 72 views

回答

2

這是因爲數據庫正在使用羣集主鍵,因此查詢會逐個搜索每個鍵的行,而不是從索引搜索行。

  • 運行optimize table。這將確保按排序順序物理存儲數據頁面 。這可以想見在集羣主鍵上加速範圍掃描 。

  • 僅在change_event_id 列上創建附加的非主索引。這將在index頁面中存儲該列的副本,其中 要快得多。創建後,檢查解釋計劃, 確保它使用新的索引

+1

東西告訴我,AlexHenderson_v1.00回答了錯誤的問題。 –

+0

沒有。評論必須在我的回覆後進行編輯。有些事告訴我你拼錯了我的名字。 –

11
select * from table 

它可以是一個地圖只有工作,但

Select Count(*) from table 

它可以是一個Map和Reduce任務

希望這會有所幫助。

+1

好的,謝謝,你能解釋我的代碼是如何工作的嗎?是否有任何方法獲得執行時間?我的工作是什麼意思? – Haris

3

配置單元查詢可以執行的操作有三種類型。

按照最便宜,最快到更貴,更慢的順序,他們是。

配置單元查詢可以是僅限元數據的請求。

顯示錶格,描述表格都是例子。在這些查詢中,配置單元進程在元數據服務器中執行查找。元數據服務器是一個SQL數據庫,可能是MySQL,但實際的數據庫是可配置的。

配置單元查詢可以是hdfs get請求。 從表中選擇*就是一個例子。在這種情況下,配置單元可以通過執行hdfs操作來返回結果。 hadoop fs -get,或多或少。

配置單元查詢可以是Map Reduce作業。

Hive必須將jar發送到hdfs,jobtracker將任務排隊,tasktracker執行任務,最終數據將被放入hdfs或發送給客戶端。

Map Reduce作業也有不同的可能性。

它可以是一個Map only作業。 從表中選擇*,其中id> 100,例如,可以將所有該邏輯應用於映射器。

它可以是一個Map和Reduce作業, 從表中選擇min(id); 從id按表格順序選擇*;

它也可以導致多個地圖減少通行證,但我認爲上面總結了一些行爲。

相關問題