hive表多種儲存格式的檔案大小差異,無重複資料

2022-06-11 10:39:08 字數 3448 閱讀 7487

-- 重點,目標表無重複資料

--

dbname.num_result 無重覆記錄

--插入資料

create

table

dbname.test_textfile(

`key

` string,

`value` string,

`p_key` string,

`p_key2` string)

stored

astextfile

;insert overwrite table dbname.test_textfile select

*from dbname.num_result where p_key='9

'and p_key2='0

';drop

table

dbname.test_orcfile;

create

table

dbname.test_orcfile(

`key

` string,

`value` string,

`p_key` string,

`p_key2` string)

stored

asorc

;insert overwrite table dbname.test_orcfile select

*from

test_textfile;

create

table

dbname.test_rcfile(

`key

` string,

`value` string,

`p_key` string,

`p_key2` string)

stored

asrcfile

;insert overwrite table dbname.test_rcfile select

*from

test_textfile;

create

table

dbname.test_parquet(

`key

` string,

`value` string,

`p_key` string,

`p_key2` string)

stored

asparquet

;insert overwrite table dbname.test_parquet select

*from

test_textfile;

--統計資料量

select

count(1) as cnt from

dbname.test_textfile;

select

count(1) as cnt from

dbname.test_orcfile;

select

count(1) as cnt from

dbname.test_rcfile;

select

count(1) as cnt from

dbname.test_parquet;

--統計檔案大小

dfs -du -s -h hdfs://nameservice1/

user

/hive/warehouse/dbname.db/test_text*

;dfs

-du -s -h hdfs://nameservice1/

user

/hive/warehouse/dbname.db/test_par*

;dfs

-du -s -h hdfs://nameservice1/

user

/hive/warehouse/dbname.db/test_rc*

;dfs

-du -s -h hdfs://nameservice1/

user

/hive/warehouse/dbname.db/test_orc*;

1.0 g  3.1 g  hdfs://namenode/

user

/hive/warehouse/dbname.db/

test_textfile

1.1 g 3.3 g hdfs://namenode/

user

/hive/warehouse/dbname.db/

test_parquet

984.0 m 2.9 g hdfs://namenode/

user

/hive/warehouse/dbname.db/

test_rcfile

470.0 m 1.4 g hdfs://namenode/

user

/hive/warehouse/dbname.db/test_orcfile

從結果可以看出,在無重複資料的情況下,parquet的壓縮無用武之地,占用空間比textfile還大,orc是壓縮最強的檔案模式。

hive (dbname)> dfs -du -s hdfs://namenode/

user

/hive/warehouse/dbname.db/test_text*

;1110741501

3332224503 hdfs://namenode/

user

/hive/warehouse/dbname.db/

test_textfile

hive (dbname)

> dfs -du -s hdfs://namenode/

user

/hive/warehouse/dbname.db/test_par*

;1167366639

3502099917 hdfs://namenode/

user

/hive/warehouse/dbname.db/

test_parquet

hive (dbname)

> dfs -du -s hdfs://namenode/

user

/hive/warehouse/dbname.db/test_rc*

;1031774688

3095324064 hdfs://namenode/

user

/hive/warehouse/dbname.db/

test_rcfile

hive (dbname)

> dfs -du -s hdfs://namenode/

user

/hive/warehouse/dbname.db/test_orc*

;492795434

1478386302 hdfs://namenode/

user

/hive/warehouse/dbname.db/test_orcfile

hive 修改表的儲存格式 Hive檔案儲存格式

列式儲存和行式儲存 5.png 上圖左邊為邏輯表,右邊第乙個為行式儲存,第二個為列式儲存。行儲存的特點 查詢滿足條件的一整行資料的時候,列儲存則需要去每個聚集的字段找到對應的每個列的值,行儲存只需要找到其中乙個值,其餘的值都在相鄰地方,所以此時行儲存查詢的速度更快。列儲存的特點 因為每個欄位的資料聚...

HIVE檔案儲存格式

hive檔案儲存格式包括以下幾類 textfile sequencefile rcfile orcfile 其中textfile為預設格式,建表時不指定預設為這個格式,匯入資料時會直接把資料檔案拷貝到hdfs上不進行處理。sequencefile,rcfile,orcfile格式的表不能直接從本地檔...

Hive檔案儲存格式

上圖左邊為邏輯表,右邊第乙個為行式儲存,第二個為列式儲存。行儲存的特點 查詢滿足條件的一整行資料的時候,列儲存則需要去每個聚集的字段找到對應的每個列的值,行儲存只需要找到 其中乙個值,其餘的值都在相鄰地方 所以此時行儲存查詢的速度更快。列儲存的特點 因為每個欄位的資料聚集儲存,在查詢只需要少數幾個欄...