本篇內(nèi)容主要講解“什么是Parquet列存儲模式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“什么是Parquet列存儲模式”吧!
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設服務10余年為成都成都假山制作小微創(chuàng)業(yè)公司專業(yè)提供成都定制網(wǎng)站營銷網(wǎng)站建設商城網(wǎng)站建設手機網(wǎng)站建設小程序網(wǎng)站建設網(wǎng)站改版,從內(nèi)容策劃、視覺設計、底層架構、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設服務。
Apache Parquet 是一種能夠有效存儲嵌套數(shù)據(jù)的列存儲格式。(列式存儲格式在文件大小和查詢性能上表現(xiàn)優(yōu)秀) Parquet 的突出貢獻在于能夠以真正的列式存儲格式來保存具有深度嵌套結構的數(shù)據(jù)。 參考博客-簡書
原子類型
類型 | 描述 |
---|---|
boolean | 二進制值 |
int32 | 32位有符號整數(shù) |
int64 | 64位有符號整數(shù) |
int96 | 96位有符號整數(shù) |
float | (32位)IEEE754單精度浮點數(shù) |
double | (64位)IEEE754單精度浮點數(shù) |
binary | 8位無符號字節(jié)序列 |
fixed_len_byte_array | 固定數(shù)量的8位無符號字節(jié) |
一個簡單的Parquet模式:
message WeatherRecord{ required int32 year; required int32 temperature; required binary stationId (UTF-8); }
parquet 的原子類型不包括字符串類型。required binary stationId (UTF-8); 表示字符串
邏輯類型
<table> <tr> <th>邏輯類型注解</th> <th>描述</th> <th>模式示例</th> </tr> <tr> <td>UTF-8</td> <td> 由UTF-8字符組成的字符串,可用于<br/> 注解binary </td> <td> message m { <br/> required binary a (UTF-8);<br/> } </td> </tr> <tr> <td>ENUM</td> <td>命名值的集合,可用于binary</td> <td> message m { <br/> required binary a (ENUM);<br/> } </td> </tr> <tr> <td>DECIMAL<br/> (precision,scale)</td> <td> 任意精度的有符號小數(shù),可用于注解<br/> int32、int64、binary或fixed_len_byte_array </td> <td> message m { <br/> required int32 a (DECIMAL(5,2));<br/> } </td> </tr> <tr> <td>DATE</td> <td> 不帶時間的日期值,可用于注解int32.<br/> 用Unix元年(1970年1月1日)以來的天<br/>數(shù)表示 </td> <td> message m { <br/> required int32 a (DATE);<br/> } </td> </tr> <tr> <td>LIST</td> <td>一組有序的值,可用于注解group</td> <td> message m { <br/> required group a (LIST){</br> required group list{<br/> required int32 element;</br> } } } </td> </tr> <tr> <td>MAP</td> <td> 一組無序的鍵-值對,可用于注解group </td> <td> message m { <br/> required group a (MAP){</br> required group key_value{<br/> required binary key (UTF-8);</br> optional int32 value;<br/> } } } </td> </tr> </table>
Paruet文件由一個文件頭,一個或多個緊隨其后的文件塊,以及一個用于結尾的文件尾構成。文件頭中僅包含一個稱為PAR1的4個字節(jié)數(shù)字,它用來識別整個Parquet文件格式。文件的所有元數(shù)據(jù)都被保存在文件尾中。
在設置文件塊的大小時需要折中考慮掃描率與內(nèi)存的使用。較大的文件塊包含較多的行,因此掃描效率更高。同時也可以提高順序I/O操作的效率(因為在設置列塊時的額外開銷比較少)。但是,每個文件塊在讀/寫操作時都需要緩存在內(nèi)存中,這個限制使得文件塊不能太大。默認的文件塊為128MB.
到此,相信大家對“什么是Parquet列存儲模式”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
網(wǎng)站標題:什么是Parquet列存儲模式
轉載來源:http://jinyejixie.com/article44/gpeoee.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、域名注冊、靜態(tài)網(wǎng)站、網(wǎng)頁設計公司、網(wǎng)站改版、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)