总体优点:文件小,加载数据量变少
第一部分:只用Parque格式存储数据
- 创建表,使用列式存储Parquet格式存储数据
- 导入的数据文件格式:必须是Parquet格式
CREATE TABLE db_yhd.track_log_parquet(
id STRING,
url STRING,
......
linkPosition STRING,
buttonPosition STRING
)
PARTITIONED BY (date_str STRING ,hour_str STRING )
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS PARQUET;
注:与非parquet表创表区别在最后一行
- 加载数据到链式存储的分区表中
INSERT INTO TABLE track_log_parquet
PARTITION ( date_str="20150828" , hour_str="18" )
select
id,url,referer,keyword,type,guid,pageId,moduleId,linkId,attachedInfo,sessionId,trackerU,trackerType,ip,trackerSrc,cookie,orderCode,trackTime,endUserId,firstLink,sessionViewNo,productId,curMerchantId,provinceId,cityId,fee,edmActivity,edmEmail,edmJobId,ieVersion,platform,internalKeyword,resultSum,currentPage,linkPosition,buttonPosition
from
db_yhd.trac

本文探讨了Hive中使用Parquet和ORC格式结合Snappy压缩进行链式存储的优化方法。通过对比不同存储和压缩方式,发现Parquet+Snappy和ORC+Snappy能显著减小文件大小,同时保持查询结果一致。实验显示,链式存储在加载数据和查询时表现出更高的效率。
最低0.47元/天 解锁文章
2033

被折叠的 条评论
为什么被折叠?



