Hadoop文件存儲格式

1. TextFile

默認格式,存儲方式為行存儲,數據不做壓縮,磁盤開銷大,數據解析開銷大。可結合 Gzip、Bzip2 使用(系統自動檢查,執行查詢時自動解壓),但使用 這種方式,壓縮后的文件不支持 split,Hive 不會對數據進行切分,從而無法對數據進行并行操作。并且在反序列化過程中,必須逐個字符判斷是不是分隔符和行結束符,因此反序列化開銷會比 SequenceFile 高幾十倍?

2. SequenceFile

SequenceFile 是 Hadoop API 提供的一種二進制文件支持,存儲方式為行存儲,其具有使用方便、可分割、可壓縮的特點。
SequenceFile 支持三種壓縮選擇:NONE,RECORD,BLOCK。Record 壓縮率低,一般建議使用 BLOCK 壓縮。
優勢是文件和 hadoop api 中的 MapFile 是相互兼容的 。

3、RCFile

存儲方式:數據按行分塊,每塊按列存儲。結合了行存儲和列存儲的優點:
首先,RCFile 保證同一行的數據位于同一節點,因此元組重構的開銷很低 ;
其次,像列存儲一樣,RCFile 能夠利用列維度的數據壓縮,并且能跳過不必要的列讀取;

4、ORCFile(下文詳細闡述)

存儲方式:數據按行分塊 每塊按照列存儲。
壓縮快、快速列存取。
效率比 RCfile 高,是 RCfile 的改良版本。

5、Parquet

Parquet文件是以二進制方式存儲的,所以是不可以直接讀取的,文件中包括該文件的數據和元數據,因此Parquet格式文件是自解析的。
Apache Parquet 最初的設計動機是存儲嵌套式數據,比如Protocolbuffer thrift json 等 將這類數據存儲成列式格式以方便對其高效壓縮和編碼,且使用更少的IO操作取出需要的數據

總結:

相比 TEXTFILE 和 SEQUENCEFILE,RCFILE 由于列式存儲方式,數據加載時性能消耗較大,但是具有較好的壓縮比和查詢響應。
數據倉庫的特點是一次寫入、多次讀取,因此,整體來看,RCFILE 相比其余兩種格式具有較明顯的優勢。

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

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

相關文章

2024.6.3總結1100

今天面試了一家廣西電信公司,然后受到武漢華為的hr的電話溝通,如果沒意外的話,下周就能收到offer了。 求職也算是踏入社會的第一步了,經過兩個月的求職過程,我除了關于求職方面的技巧,也擴展了我的認知。 …

R語言安裝caret包報錯

R語言安裝caret包報錯:Error: package or namespace load failed for ‘caret’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck vI[[i]]): 不存在叫‘recipes’這個名字的程輯包 https://rbasics.org/packages/caret-package-in-r/ R版本的問題&…

商業新聞|你還在用傳統搜索引擎嗎?

??今天是2024年第22周 這是Yura「輸出倒逼輸入」計劃的第11篇文章 全年進度:11/52 01 AI搜索為什么沒超過傳統搜索? 生成式AI在搜索引擎領域掀起了一輪又一輪的波瀾,但是一年多過去了,不管是必應還是perplexity都并沒有動搖Goog…

深度解讀GPT基本原理

GPT(Generative Pre-trained Transformer)是一種基于Transformer架構的生成式預訓練模型,其核心在于通過大規模無監督學習來捕捉語言知識和模式,并通過微調來適應各種下游任務。以下是GPT基本原理的詳細解讀: 1.Trans…

pandas習題 036:選擇 DataFrame 的多個列

有以下一個 DataFrame,請從中選擇 name 和 english 這兩列形成一個 DataFrame。 import pandas as pddata {name: [Alice, Bob, Charlie, David, Eve],grade: [10, 11, 10, 12, 11],math: [90, 85, 92, 88, 95],english: [85, 92, 88, 90, 92],science: [92, 90, …

【TB作品】MSP430G2553霓虹燈呼吸燈跑馬燈

霓虹燈: 跑馬燈: 呼吸燈: 所有代碼: 下載: https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tabBB08J2

蘋果CMS:怎么添加2019和2020年份篩選

我們進入搜索的時候看到一個關于年份的搜索,那如果上面沒有出現19,20我們該如何處理呢? 我們進入管理后臺 -【系統】-【網站參數配置】-【預留參數】 添加下視頻年代逗號隔開即可 如果要設置地區,語言也實在這里直接配置即可!&am…

毫米波雷達陣列天線設計綜合1(MATLAB仿真)

1 天線設計目標 毫米波雷達探測目標的距離、速度和角度,其中距離和角度和天線設計相關性較強。天線增益越高,則根據雷達方程可知探測距離越遠;天線波束越窄,則角度分辨率越高;天線副瓣/旁瓣越低,則干擾越少…

Kibana的使用

在學習elasticsearch時,可以使用Kibana自帶的開發工具,來提高效率, 瀏覽器打開Kibana,在左側菜單欄中找到Dev Tools 該工具提供代碼提示和代碼格式化功能,非常有用,

C++筆記(1)

1. C語言和C的區別? C語言作為一種過程性語言,側重于通過算法描述來指導計算機執行,將復雜程序分解為簡單、可管理的模塊。 C語言支持模塊化編程,每個模塊作為獨立的單元。C融合了3中不同的編程方式:C語言、面向對象…

【已解決】記錄Vue2.x中npm install下載依賴報錯:python2 Error: not found: python2問題(具體操作步驟)

項目場景: 項目場景:在項目開發中,升級了本地node版本后,重新npm install下載依賴報錯找不到python環境 not found: python2 npm ERR! gyp verb check python checking for Python executable “python2” in the PATH 在嘗試了各…

Codeforces Round 950 (Div. 3)(A~F2)

G題只會暴力..不會數據結構 A - 問題 Generator 暴力模擬即可 // Problem: A. Problem Generator // Contest: Codeforces - Codeforces Round 950 (Div. 3) // URL: https://codeforces.com/contest/1980/problem/A // Memory Limit: 256 MB // Time Limit: 1000 ms // //…

哈夫曼樹的構造,哈夫曼樹的存在意義--求哈夫曼編碼

一:哈夫曼樹的構造 ①權值,帶權路徑長度。 ②一組確定權值的葉子節點可以構造多個不同的二叉樹,但是帶權路徑長度min的是哈夫曼樹 ③算法基本思想及其實操圖片演示 注:存儲結構和偽代碼 1 初始化: 構造2n-1棵只有一個根節點的二叉樹,parent=rchild=lchild=-1; 其中…

構造一個高效的哈希表:從基本思路到最終實現

哈希表是計算機科學中常用的數據結構之一,它提供了快速的查找、插入和刪除操作。在本篇博客中,我們將探討如何構造一個高效的哈希表,從最基本的思路逐步完善,直至最終實現。 1. 初始思路:使用布爾數組存儲 我們最初的…

AIGC 全面介紹

隨著人工智能技術的不斷進步,生成式人工智能(AI Generated Content, AIGC)成為了一個日益熱門的話題。AIGC 指利用人工智能技術生成各類內容,包括文本、圖像、音頻、視頻等。與傳統的內容生成方法相比,AIGC 具有速度快…

谷歌創新框架:從非結構化數據,實現多模態學習

看、聽、說的多模態已成為主流大模型的重要功能之一。但在數據爆炸時代,大模型學習文本類的結構化數據相對還好一些,但要去學習視頻、音頻、圖片等非結構化數據非常困難。 目前,從結構化和非結構化數據實現多模態學習,會隨著模態…

RK3588 VOP圖層分配介紹

RK3588 VOP圖層分配介紹 RK3588圖層介紹 RK3588有8個圖層,分別是Custer 0/1/2/3 和Esmart 0/1/2/3,兩種圖層的能力不一樣,具體如下: Custer 分辨率:最大分辨率包括兩種合并集群和單集群,分別為7680x432…

QT_UI設計

mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE //命名空間 namespace Ui { class MainWindow; } //ui_MainWindow文件里定義的類&#xff0c;外部聲明 QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_O…

AccessibilityEvent的生成和處理

在 Android 框架層&#xff0c;AccessibilityEvent 的生成和處理是通過系統的 UI 框架和輔助功能服務框架密切協作來實現的。這個機制涉及幾個關鍵的部分&#xff1a;UI 組件、輔助功能服務、事件監聽和事件分發。以下是對這些部分和它們如何協同工作的詳細解釋&#xff1a; 1…

httprunner接口自動化測試框架使用說明【保姆級教程】

背景介紹&#xff1a; httprunner是國內開源的一個接口自動化框架&#xff0c;已經有部分公司開始使用這種框架來完成自己公司的接口自動化編寫&#xff0c;本文主要是從簡單的流程上去講解咋使用的&#xff08;PS&#xff1a;開發者本尊的官網教程寫的是真的爛。。。&#xf…