日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Hive Fetch Task

發布時間:2025/7/14 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hive Fetch Task 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

show?tables;?metastore->>mysql;? select?*?from?bi.dpods_dp_unsubscribe?where?hp_statdate?=?'2015-03-22'?limit?10;?-》不起job? select?dpid?from?bi.dpods_dp_unsubscribe?where?hp_statdate?=?'2015-03-22'?limit?10;?->起job,需要resource?manager

如果你想查詢某個表的某一列,Hive默認是會啟用MapReduce Job來完成這個任務,如下: 我們都知道,啟用MapReduce Job是會消耗系統開銷的。對于這個問題,從Hive0.10.0版本開始,對于簡單的不需要聚合的類似(SELECT columns from table_name)不需要起MapReduce job,直接通過Fetch task獲取數據,可以通過設置如下屬性實現:

set?hive.fetch.task.conversion=more;?//?簡單查詢就不走map/reduce了,直接讀取hdfs文件進行filter過濾。但是有數據量大時要等很長時間,且沒有任何返回。 set?hive.fetch.task.conversion=minimal;?//?任何簡單select都會走map/reduce;

開啟了Fetch任務,所以對于上述簡單的列查詢不在啟用MapReduce job。上面的兩種方法都可以開啟了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?haveany?aggregations?or?distincts?(which?incurrs?RS),?lateral?views?and?joins.1.?minimal?:?SELECT?STAR,?FILTER?on?partition?columns,?LIMIT?only2.?more????:?SELECT,?FILTER,?LIMIT?only?(+TABLESAMPLE,?virtual?columns)</description> </property>

meta store查詢:

show?tables; desc?database?finance;

PS:

發現hive就可以啟動起來了,其實我們只需要把hive理解為幾個部分即可:metastore、thrift server和剩下的hive,這幾個部分都是可以分開部署的,放在不同的服務器上,這樣的設計增加了hive的ha和可擴展性 但是分開部署會犧牲很大的可維護性,也增加了運維的復雜性,所以一般還是把元數據留著mysql中其他的部分放在一個jvm中。 hive也是個cs結構的東西 thrift是負責client和server通信的。?


轉載于:https://my.oschina.net/rathan/blog/603415

總結

以上是生活随笔為你收集整理的Hive Fetch Task的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。