hive on tez如果是2個大表union會寫幾次臨時文件到hdfs目錄,數據量如何計算

如果是2個大表union會寫幾次臨時文件到hdfs目錄,數據量如何計算

在Hive on Tez中,兩個大表執行UNION操作時,臨時文件的寫入次數和數據量,取決于UNION的類型(UNION ALL還是UNION去重)以及執行計劃的Stage劃分。以下分場景詳細說明:

一、臨時文件寫入次數:與Stage數量直接相關

Tez會將UNION操作解析為多個Stage(計算階段),每個Stage的輸出都會寫入HDFS臨時目錄(作為下一個Stage的輸入)。因此,臨時文件的“寫入次數”等價于參與計算的Stage數量

1. 場景1:UNION ALL(不去重,僅合并)

UNION ALL僅需將兩個表的結果“直接拼接”,執行計劃通常包含3個Stage:

  • Stage 1:掃描并處理第一個表(如過濾、字段轉換等,若無需處理則僅掃描),輸出結果寫入臨時目錄;
  • Stage 2:掃描并處理第二個表,輸出結果寫入臨時目錄;
  • Stage 3:合并Stage 1和Stage 2的臨時結果(無需去重),輸出最終合并結果到臨時目錄,最后通過原子操作寫入目標表。

臨時文件寫入次數:3次(每個Stage各寫1次)。

2. 場景2:UNION(自動去重,等價于UNION DISTINCT

UNION需要對兩個表的合并結果去重,執行計劃比UNION ALL多一個“去重Stage”,共4個Stage:

  • Stage 1:處理第一個表,輸出臨時文件;
  • Stage 2:處理第二個表,輸出臨時文件;
  • Stage 3:合并Stage 1和Stage 2的結果(此時數據可能有重復),輸出到臨時目錄;
  • Stage 4:對Stage 3的結果執行去重(通常通過Reduce階段的DISTINCT操作),輸出去重后的結果到臨時目錄,最后寫入目標表。

臨時文件寫入次數:4次(每個Stage各寫1次)。

二、臨時文件的數據量計算

臨時文件的數據量取決于每個Stage的輸出數據量,受原始表大小、處理邏輯(如過濾、轉換)、數據格式(壓縮與否)影響。以下為簡化計算(假設無過濾/轉換,默認壓縮格式如ORC):

1. 場景1:UNION ALL

  • Stage 1臨時文件:約等于第一個表的實際存儲量(記為A,如100GB);
  • Stage 2臨時文件:約等于第二個表的實際存儲量(記為B,如200GB);
  • Stage 3臨時文件:約等于A + B(合并后無去重,300GB)。

總臨時數據量A + B + (A + B) = 2*(A + B)(3次寫入的總和)。

2. 場景2:UNION(去重)

  • Stage 1臨時文件A
  • Stage 2臨時文件B
  • Stage 3臨時文件A + B(合并后未去重);
  • Stage 4臨時文件:約等于A + B - CC為重復數據量,假設重復50GB,則為250GB)。

總臨時數據量A + B + (A + B) + (A + B - C) = 3*(A + B) - C(4次寫入的總和)。

三、關鍵影響因素

  1. 數據壓縮:若啟用ORC/Parquet等壓縮格式,臨時文件實際存儲量會比原始文本小3-5倍(需按壓縮后大小計算);
  2. 處理邏輯:若UNION前有WHERE過濾或字段裁剪,Stage 1/2的輸出量會小于原始表大小;
  3. 分桶/分區:若表是分桶或分區表,且UNION僅涉及部分分區,臨時文件量會按實際涉及的分區數據計算;
  4. 重復數據比例UNION去重時,重復數據越多(C越大),Stage 4的輸出量越小,總臨時數據量越少。

總結

  • UNION ALL:3次臨時文件寫入,總數據量約2*(A + B)
  • UNION(去重):4次臨時文件寫入,總數據量約3*(A + B) - C
  • 實際數據量需結合壓縮、過濾、重復率等因素調整,核心是“每個Stage的輸出都會產生臨時文件”。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/920738.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/920738.shtml
英文地址,請注明出處:http://en.pswp.cn/news/920738.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Web+js轉uni-app+ts

一、入手uni-app 官方文檔:uni-app官網 1.創建uni-app項目 1.1通過HBuilderX進行創建 官方地址:HBuilderX-高效極客技巧 1.2通過命令行創建 // js 版本的 npx degit dcloudio/uni-preset-vue#vite 項目名 npx degit dcloudio/uni-preset-vue#vite-…

IO_hw_8.29

1.使用fgets和fputs完成兩個文件的拷貝,要求文件名使用外部傳承2.注冊登錄代碼3.思維導圖4.牛客網刷題記錄

數據結構(04)—— 棧和隊列

Hi!探索者們😉,歡迎踏入 408 數據結構的奇妙秘境🌿!? 我是 ankleless📚,和你并肩的尋寶人~ 這是我的探險手札🗺?,里面記著鏈表森林的岔路陷阱🕸…

Java多線程基礎:進程、線程與線程安全實戰

Java多線程基礎:進程、線程與線程安全實戰 🚀 極客小貼士 💡 你知道嗎? 在Java中,每個線程都有自己的棧空間,但共享堆內存。這就像每個員工都有自己的辦公桌,但共享公司的會議室和打印機&#…

2025 實測有效!手把手教你如何用實例代碼(Python、JavaScript 、JAVA) 等實戰代碼,免費股票數據接口大全

? 近年來,股票量化分析憑借其科學性與系統性,逐漸走進大眾視野并受到廣泛關注。對于這一領域的初學者而言,入門路上的第一道關卡便是如何獲取全面且精準的股票數據。要知道,實時交易數據、歷史交易記錄、財務數據以及基本面信息等…

KMP 算法相關練習題

大家好,今天是2025年8月31日,上一期我給大家分享了 KMP 算法的相關知識,今天我來帶領大家學習4道 KMP 相關的算法題。 在學習算法題之前,還是希望大家能夠要先學會 KMP 算法(可以參考這篇文章:KMP 算法&am…

張柏芝亮相林家謙演唱會 再次演繹《任何天氣》

近日,張柏芝作為特別嘉賓亮相歌手林家謙演唱會。當天,張柏芝身著一襲淺米色蕾絲裙裝,輕盈面料搭配層疊設計,行走間裙擺微揚,溫柔氣質滿溢,為舞臺增添了一抹溫柔亮色。舞臺上,張柏芝接連演繹《任…

Android 權限申請現代化指南

Android 權限申請現代化指南 一、核心概念:權限分類 Android 將權限分為三大類,申請方式各不相同: 普通權限 (Normal Permissions)范圍:涉及應用沙盒外部但對用戶隱私或設備操作風險極低的操作。示例:網絡訪問 (IN…

大話 IOT 技術(3) -- MQTT篇

文章目錄前言前情提要MQTT介紹組成萬惡的appmqtt服務端偽代碼實現開源的力量后話當你迷茫的時候,請點擊 物聯網目錄大綱 快速查看前面的技術文章,相信你總能找到前行的方向 前言 本篇將開始講述IOT技術的一個重點,mqtt協議。 我發現有一個…

大語言模型生成的“超齡勞動者權益保障制度系統化完善建議(修訂版)”

大綱 │ ├── 一、基于征求意見稿現狀的評估 │ ├── 制度意義:25條暫行規定首次明確權益范圍,提供法律依據 │ └── 關鍵缺陷 │ ├── 法律定位不明確 │ ├── 社保銜接不足 │ └── 實施機制不完善 │ ├── 二、法…

【UnityAS】Unity Android Studio 聯合開發快速入門:環境配置、AAR 集成與雙向調用教程

這是一篇2021年的存檔,使用Unity2020版本。 至今,Unity與AS很多通訊方式也是基于此衍生。 作為Unity與AS聯合開發的受益者,難得掏出自己的飯碗,諸君共享! Unity & Android Studio 聯合開發快速入門 ——Unity與AS…

前后端聯合實現多個文件上傳

1、前端 Vue3CommonApplyBasicInfoForm.vue<script setup lang"ts" name"CommonApplyBasicInfoForm"> ...... // 文件輸入實例對象 const fileInputRef ref<HTMLInputElement | null>(null); // 選擇文件列表 const selectedFiles ref<Fi…

軟考高級--系統架構設計師--綜合知識真題解析

系列文章目錄 文章目錄系列文章目錄一、2019年真題二、2020年真題三、2021年真題四、2022年真題總結一、2019年真題 二、2020年真題 三、2021年真題 四、2022年真題 總結

“帕薩特B5鉗盤式制動器結構設計三維PROE模型7張CAD圖紙PDF圖“

摘 要本文首先對汽車制動器原理和對各種各樣的制動器進行分析,詳細地闡述了各類制動器的結構,工作原理和優缺點。再根據轎車的車型和結構選擇了適合的方案。根據市場上同系列車型的車大多數是滑鉗盤式制動器,而且滑動鉗式盤式制動器結構簡單,性能居中,設計規范,所以我選擇滑動…

SQL注入6----(其他注入手法)

一.前言 本章節來介紹一下其他的注入手法&#xff0c;也就是非常規注入手法&#xff0c;來和大家介紹一下 二.加密注入 前端提交的有些數據是加密之后&#xff0c;到了后臺在解密&#xff0c;然后再進行數據庫查詢等相關操作的&#xff0c;那么既然如 此我們也應該將注入語句…

visual studio2022 配置 PCL 1.13.1

PCL庫下載 下載鏈接&#xff1a; https://github.com/PointCloudLibrary/pcl/releases 下載這兩個。 PCL庫安裝 運行.exe文件進行安裝。 環境變量勾第二個&#xff08;其實無所謂&#xff0c;反正還要添加別的環境變量&#xff0c;這里沒選之后加也一樣&#xff09;。 安裝…

金融學-貨幣理論

前言 前面學習了什么是貨幣供給&#xff0c;貨幣供給的決定以及聯邦儲備體系在貨幣供給中所起的作用。現在我們要開始探討經濟中貨幣供給在決定價格水平與全部商品和勞務(總供給)中的作用。關于貨幣對經濟影響的研究&#xff0c;稱為貨幣理論(monetarythe-ory) 貨幣數量論 古典…

Visio繪圖——給多邊形增加連接線

每次在畫項目框圖和各類爪圖的時候&#xff0c;連接線是最煩人的&#xff0c;雖然選擇的是折線&#xff0c;單往往事與愿違。 下面就記錄一下&#xff0c;如何查找各類連接線。 1、先展開左側菜單欄&#xff0c;點擊如下所示的“&#xff1e;”2、在展開的界面&#xff0c;再次…

【開題答辯全過程】以 付費自習室系統小程序為例,包含答辯的問題和答案

個人簡介一名14年經驗的資深畢設內行人&#xff0c;語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧。感謝大家的…

開疆智能Profinet轉EtherCAT網關連接TR-Electronic傳感器配置案例

本案例是通過開疆智能研發的Profinet轉EtherCAT網關將傳感器數據傳送到PLC&#xff0c;由于兩邊設備采用協議不同&#xff0c;故而使用網關進行轉換。網關配置&#xff1a;打開網關配置軟件“EtherCAT Manager”并新建項目。根據不通網關型號也可選擇ModbusTCP&#xff0c;Ethe…