日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

 

大數據新人應該了解的Hadoop中的各種文件格式

 

幾周前,我寫了一篇有關Hadoop的文章,并談到了它的不同部分。 以及它如何在數據工程中扮演重要角色。 在本文中,我將總結Hadoop中不同的文件格式。 本主題將是一個簡短而快速的主題。 如果您想了解Hadoop的工作原理以及它在數據工程師中的重要作用,請在此處訪問我關于Hadoop的文章,或樂于跳過。

Hadoop中的文件格式大致分為兩類:面向行和面向列:

面向行:在一起存儲的同一行數據是連續存儲:SequenceFile,MapFile,Avro Datafile。 這樣,如果僅需要訪問該行的少量數據,則需要將整個行讀入存儲器。 延遲序列化可以將問題減輕到一定程度,但是無法取消從磁盤讀取整行數據的開銷。 面向行的存儲適用于需要同時處理整行數據的情況。

面向列:整個文件分為幾列數據,每列數據存儲在一起:Parquet,RCFile,ORCFile。 面向列的格式可以在讀取數據時跳過不需要的列,適用于字段中只有一小部分行的情況。 但是這種讀取和寫入格式需要更多的存儲空間,因為高速緩存行需要位于內存中(以獲取多行中的一列)。 同時,它不適合流式傳輸,因為一旦寫入失敗,就無法恢復當前文件,并且在寫入失敗時,面向行的數據可以重新同步到最后一個同步點,因此Flume使用 面向行的存儲格式。

大數據新人應該了解的Hadoop中的各種文件格式

 


大數據新人應該了解的Hadoop中的各種文件格式

> Picture 1.(Left Side )Show the Logical Table and Picture 2. ( Right Side) Row-Oriented Layout(Sequ

 

大數據新人應該了解的Hadoop中的各種文件格式

> Picture 3. Column-oriented Layout (RC File)

 

如果仍不清楚行和列的方向,請不用擔心,您可以訪問此鏈接,了解它們之間的區別。

以下是在Hadoop系統上廣泛使用的一些相關文件格式:

序列文件

存儲格式取決于是否壓縮以及使用記錄壓縮還是塊壓縮而有所不同:

大數據新人應該了解的Hadoop中的各種文件格式

> The Internal structure of a sequence file with no compression and with record compression.

 

不壓縮:根據記錄長度,鍵長,值程度,鍵值和值值順序存儲。 范圍是字節數。 使用指定的序列化執行序列化。

記錄壓縮:僅壓縮值,并將壓縮的編解碼器存儲在標頭中。

塊壓縮:將多個記錄壓縮在一起,以利用記錄之間的相似性并節省空間。 同步標記被添加在塊之前和之后。 該屬性的最小值為io.seqfile.compress.blocksizeset。

大數據新人應該了解的Hadoop中的各種文件格式

> The internal structure of a sequence file with block compression

 

地圖文件

MapFile是SequenceFile的變體。 將索引添加到SequenceFile并對其進行排序后,它就是MapFile。 索引存儲為單獨的文件,通常每128條記錄存儲一個索引。 可以將索引加載到內存中以進行快速查找-存儲按Key定義的順序排列的數據的文件。 MapFile記錄必須按順序編寫。 否則,將引發IOException。

MapFile的派生類型:

· SetFile:一個特殊的MapFile,用于存儲可寫類型的鍵序列。 密鑰是按順序寫入的。

· ArrayFile:鍵是一個整數,表示數組中的位置,值是可寫的。

· BloomMapFile:使用動態Bloom過濾器針對MapFile get()方法進行了優化。 過濾器存儲在內存中,并且僅當鍵值存在時,才會調用常規的get()方法來執行讀取操作。

Hadoop系統下面列出的文件包括RCFile,ORCFile和Parquet。 Avro的面向列的版本是Trevni。

RC文件

Hive的Record Columnar File(記錄列文件),這種類型的文件首先將數據按行劃分為行組,然后在行組內部將數據存儲在列中。 其結構如下:

大數據新人應該了解的Hadoop中的各種文件格式

> Data Layout of RC File in an HDFS block

 

與純面向行和面向列的比較:

大數據新人應該了解的Hadoop中的各種文件格式

> Row-Store in an HDFS Block

 

大數據新人應該了解的Hadoop中的各種文件格式

> Column Group in HDFS Block

 

ORC文件

ORCFile(優化的記錄列文件)提供了比RCFile更有效的文件格式。 它在內部將數據劃分為默認大小為250M的Stripe。 每個條帶均包含索引,數據和頁腳。 索引存儲每列的最大值和最小值以及列中每一行的位置。

大數據新人應該了解的Hadoop中的各種文件格式

> ORC File Layout

 

在Hive中,以下命令用于使用ORCFile:

CREATE TABLE ...STORED AAS ORC ALTER TABLE ... SET FILEFORMAT ORC SET hive.default.fileformat=ORC

Parquet

一種通用的基于列的存儲格式,基于google的Dremel。 特別擅長處理深度嵌套的數據。

大數據新人應該了解的Hadoop中的各種文件格式

> The internal Structure of Parquet File

 

對于嵌套結構,Parquet會將其轉換為平面列存儲,該存儲由重復級別和定義級別(R和D)表示,并在讀取數據以重建整個文件時使用元數據來重建記錄。 結構體。 以下是R和D的示例:

AddressBook { contacts: { phoneNumber: "555 987 6543" } contacts: { } } AddressBook { }

大數據新人應該了解的Hadoop中的各種文件格式

 

就這樣,現在,您知道了Hadoop中不同的文件格式。 如果您發現任何錯誤并提出建議,請隨時與我聯系。 您可以在我的LinkedIn上與我聯系。

 

 

分享到:
標簽:數據
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定