1. 程式人生 > >hivesql優化技巧之一 mapjoin

hivesql優化技巧之一 mapjoin

hivesql 計算優化技巧

當要連線的兩個表其中一個表非常小的時候,可以考慮使用mapjoin。mapjoin會將小表拷貝到每個執行map的節點上,並將其cache到記憶體中,然後在map階段連線大表。由於省去了reduce過程,效率會提高不少。使用mapjoin之後,join會執行兩個map-reduce Job,不用mapjoin則只有一個。hive.merge.mapfiles這個引數設定為true了,因為只有map而沒有reduce,map的數量又不好控制,可能導致大量的map任務,這樣會生成許多檔案。hive.merge.mapfiles為true時,會啟動另 外一個map-reduce Job來合併小檔案。

mapjoin還有一個很大的好處是能夠進行不等連線的join操作,如果將不等條件寫在where中,那麼mapreduce過程中會進行笛卡爾積,執行效率特別低,這是由於equality join (不等值join操作有 >、<、like等如:a.x < b.y 或者 a.x like b.y)需要在reduce端進行不等值判斷,map端只能過濾掉where中等值連線時候的條件,如果使用mapjoin操作,在map的過程中就完成了不等值的join操作,效率會高很多。

select /*+ MAPJOIN(目標表) */

簡單總結一下,mapjoin的使用場景:

1. 關聯操作中有一張表非常小

2.不等值的連結操作

相關推薦

hivesql優化技巧之一 mapjoin

hivesql 計算優化技巧 當要連線的兩個表其中一個表非常小的時候,可以考慮使用mapjoin。mapjoin會將小表拷貝到每個執行map的節點上,並將其cache到記憶體中,然後在map階段連線大表。由於省去了reduce過程,效率會提高不少。使用mapjoin之後,

數據庫優化技巧之in和not in

寫法 exists art null data class -s ack size 在編寫SQL語句時,假設要實現一張表有而另外一張表沒有的數據時。 通常第一直覺的寫法是: select * from table1 where table1.id not in(s

Linux+Apache+Mysql+PHP優化技巧

建議 發生 /dev/ 意義 mac 恢復文件 客戶 效果 slave LAMP 平臺由四個組件組成,呈分層結構。每一層都提供了整個軟件棧的一個關鍵部分:Linux、Apache、MySQL、PHP。 LAMP這個詞的由來最早始於德國雜誌“c‘t Maga

Chrome瀏覽器優化技巧

第一個 設置 bit -m ast 可用 logs 其中 需要 Chrome瀏覽器開發者工具Network窗口下,可以查看下載各組件所需的具體時間 根據上表進行簡要分析—— Stalled(阻塞)   瀏覽器對同一個主機域名的並發連接數有限制,因此如果當前的連接數已經超過

Discuz論壇提速優化技巧

加載 global 體驗 全局 get redis mem left mysq Discuz是國內最受站長們歡迎的建站源碼之一,除了開源以外還有著很強大的後臺,即便是沒有建站基礎和不懂代碼的站長也能很快的架設出一個論壇,甚至是門戶。 一個網站的加載速度除了影響你在搜索引擎裏

laravel性能優化技巧(轉)

速度 memcached remember app 驅動器 ocs auth 運行 clear 說明 性能一直是 Laravel 框架為人詬病的一個點,所以調優 Laravel 程序算是一個必學的技能。 接下來分享一些開發的最佳實踐,還有調優技巧,大家有別的建議也歡迎留言討

關於TRIM的優化技巧

sel 分享 target tle afa title 軟件 級別 ref 背景 今天在論壇中,看到有人在問一個千萬級別表查詢的優化。一個簡單的查詢幾分鐘。語句如下 SELECT work_date , major , style ,

Oracle SQL性能優化技巧大總結

從右到左 art ret http 減少 檢索 前綴 deb 結果 (1)選擇最有效率的表名順序(只在基於規則的優化器中有效): Oracle的解析器按照從右到左的順序處理FROM子 句中的表名,FROM子句中寫在最後的表(基礎表driving table)將被最先處理,在

移動站的優化技巧

使用 span url 標題 重復 速度 平臺 漂浮廣告 ash 基礎優化:   1、推薦使用HTML5語言;   2、網站分辨率自適應,不要有橫向的滾動條;   3、不要使用FLASH;   4、不要做任何的彈窗和漂浮廣告;   5、點擊(鏈接)區域的間距要明顯;   6

web前端必學8個網頁優化技巧

現在,有越來越多所謂的“教程”來幫助我們提高網站的易用性。web前端培訓教程頻道收集了8個在Web開發中容易出錯和被忽略的小問題,並且提供了參考的解決方案,以便於幫助Web開發者更好的完善網站。 通過避免下面這些小錯誤,可以使得我們的網站變得更為

Oracle SQL 性能優化技巧

database 也會 完成 global 指定 多個 llb 狀況 choose Select語句完整的執行順序: SQL Select語句完整的執行順序: 1、 from子句組裝來自不同數據源的數據; 2、where子句基於指定的條件對記錄行進行篩選; 3、grou

CSS優化+技巧

stand div 運動 不換行 硬件 字體 中文 強制 web 1、-webkit-font-smoothing 字體鋸齒 div { -webkit-font-smoothing: antialiased; } View Code 2、css實現不換行、

百萬條數據快速查詢優化技巧參考

結果集 條件 系統表 log creat 解決方案 fas 一個表 好的 優化並不是絕對,具體得根

實用的HTML優化技巧

底部 位置 水平 執行 樣式 順序 講解 input class  如何提升Web頁面的性能,很多開發人員從多個方面來下手如JavaScript、圖像優化、服務器配置,文件壓縮或是調整CSS。   很顯然HTML 已經達到了一個瓶頸,盡管它是Web開發 界面必備的核心

unitUnity優化技巧

clas div ram 優化 bsp 優化技巧 pos .com art 騰訊GAD http://gad.qq.com/article/detail/39757?sessionUserType=BFT.PARAMS.253448.TASKID&ADUIN=347

SQL語句常用優化技巧

str sts rop select string 避免 什麽 是的 bstr 提高SQL語句的執行效率,最常見的方法就是建立索引,以及盡量避免全表掃描。 ①.避免在where子句中使用 is null 或 is not null 對字段進行判斷。 如:select id

關鍵的十個MySQL性能優化技巧

選項 ability 性能優化 class pos 是否 bili 工具 完成 與所有的關系型數據庫一樣,Mysql仿佛是一頭讓人難以琢磨的怪獸。它會隨時停擺,讓應用限於停滯,或者讓你的業務處於危險之中。   事實上,許多最常見的錯誤都隱藏在MySQL性能

掌握MySQL數據庫這些優化技巧,事半功倍!

mysql mysql優化 數據庫優化 一個成熟的數據庫架構並不是一開始設計就具備高可用、高伸縮等特性的,它是隨著用戶量的增加,基礎架構才逐漸完善。這篇文章主要談談MySQL數據庫在發展周期中所面臨的問題及優化方案,暫且拋開前端應用不說,大致分為以下五個階段: 階段一:數據庫表設計 項目立項後

營銷型外貿網站建設 Google seo之內鏈優化技巧

營銷型外貿網站 外貿網站建設 Google seo 內鏈優化 隨著互聯網營銷的火熱上升,各行各業都開始營銷上網,外貿企業更是離不開Google seo,谷歌seo之路漫長而沒有捷徑。但做谷歌推廣時多註意優化小細節,能盡可能的提升優化效率。接下來大簡就給大家分享五大內鏈優化技巧吧。 合理分布內鏈

優化技巧:提前if判斷幫助CPU分支預測

數組 cpu 摘要: 在stackoverflow上有一個非常有名的問題:為什麽處理有序數組要比非有序數組快?,可見分支預測對代碼運行效率有非常大的影響。要提高代碼執行效率,一個重要的原則就是盡量避免CPU把流水線清空,那麽提高分支預測的成功率就非常重要。分支預測在stackoverflow上有一個非