Hive之Hive快捷查詢(避免Mapruduce查詢)
避免Mapruduce查詢
如果你想查詢某個表的某一列,Hive預設是會啟用MapReduce Job來完成這個任務。
但是,我們可以設定引數來避免Mapruduce查詢,下面先介紹一下幾個小的知識點,並不Mapruduce查詢。
hive (zb_dwd)> select * from user_id limit 1;
OK
14510812944
Time taken: 1.608 seconds, Fetched: 1 row(s)
這種情況下,Hive可以簡單地讀取user_id對應的儲存目錄下的檔案,然後輸出格式化後的內容到控制檯。
對於WHERE語句中的過濾條件只是分割槽欄位情況,也是無需MapRuduce過程。
hive (zb_dwd)> select * from user_id where date_id=`20140512` limit 1;
OK
14510812944
Time taken: 0.782 seconds, Fetched: 1 row(s)
引數設定
Hive查詢的時候,啟用MapReduce Job是會消耗系統開銷的。對於這個問題,從Hive0.10.0版本開始,對於簡單的不需要聚合的類似SELECT
from
###1.
set hive.fetch.task.conversion=more;開啟了Fetch任務,所以對於上述簡單的列查詢不在啟用MapReduce job
hive> set hive.fetch.task.conversion=more;
hive> SELECT id, money FROM m limit 10;
OK
1 122
1 185
1 231
1 292
1 316
1 329
1 355
1 356
1 362
1 364
Time taken: 0.138 seconds, Fetched: 10 row(s)
2.
bin/hive設定
bin/hive --hiveconf hive.fetch.task.conversion=more
3.
上面的兩種方法都可以開啟了Fetch任務,但是都是臨時起作用的;如果你想一直啟用這個功能,可以在${HIVE_HOME}/conf/hive-site.xml裡面加入以下配置
<property>
<name>hive.fetch.task.conversion</name>
<value>more</value>
<description>
Some select queries can be converted to single FETCH task
minimizing latency.Currently the query should be single
sourced not having any subquery and should not have
any aggregations or distincts (which incurrs RS),
lateral views and joins.
1. minimal : SELECT STAR, FILTER on partition columns, LIMIT only
2. more : SELECT, FILTER, LIMIT only (+TABLESAMPLE, virtual columns)
</description>
</property>
相關文章
- [Hive]Hive實現抽樣查詢Hive
- Hive -------- hive常見查詢練習Hive
- Hive高階操作-查詢操作Hive
- [Hive]Hive中表連線的優化,加快查詢速度Hive優化
- hive查詢注意事項和調優Hive
- hive表查詢中文顯示亂碼Hive
- impala查詢不到hive裡建立的表Hive
- Hive學習筆記 5 Hive的資料查詢、函式Hive筆記函式
- Hive內部函式簡介及查詢語法Hive函式
- Spark SQL解析查詢parquet格式Hive表獲取分割槽欄位和查詢條件SparkSQLHive
- 查詢之折半查詢
- goland 查詢快捷鍵GoLand
- [Hadoop]Hive r0.9.0中文文件(二)之聯表查詢JoinHadoopHive
- 【SQL查詢】集合查詢之INTERSECTSQL
- 使用Presto查詢hive表資料時報"Error opening Hive split hdfs"問題,及解決方法RESTHiveError
- 好程式設計師大資料學習路線之hive表的查詢程式設計師大資料Hive
- pgsql查詢優化之模糊查詢SQL優化
- 報表連 hive,資料量比較大,怎麼分頁查詢?Hive
- hive將查詢資料插入表中某欄位無資料Hive
- MySQL之連線查詢和子查詢MySql
- DS靜態查詢之順序查詢
- select查詢之四:連線查詢
- 閃回查詢之閃回版本查詢
- 閃回查詢之閃回表查詢
- 查詢快捷鍵ctrl加什麼 wordexcel表格查詢快捷鍵是ctrl和什麼Excel
- 圖解大資料 | 海量資料庫查詢-Hive與HBase詳解圖解大資料資料庫Hive
- SQL查詢的:子查詢和多表查詢SQL
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- JavaScript之DOM查詢JavaScript
- jQuery之元素查詢jQuery
- elasticsearch之exists查詢Elasticsearch
- Hive之 hive架構Hive架構
- 複雜查詢—子查詢
- 查詢——二分查詢
- 子查詢-表子查詢
- 查詢(1)--靜態查詢
- 查詢(2)--動態查詢
- flume日誌採集,hbase資料儲存,hive查詢輸出(簡單整合)Hive