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