当前位置:首页 > 企业新闻

亚博体彩APP:【技术干货】Hive实践分享之存储和压缩的坑
本文摘要:在通过自学大数据技术性的全过程中,HIVE是十分最重要的技术性之一,但我们在新项目上经常不容易遇到一些储存和传输的坑,文中根据科多少数据的武教师梳理,共享资源给大伙儿。

在通过自学大数据技术性的全过程中,HIVE是十分最重要的技术性之一,但我们在新项目上经常不容易遇到一些储存和传输的坑,文中根据科多少数据的武教师梳理,共享资源给大伙儿。大家都告知,因为群集資源受到限制,大家一般都是会对于数据文档的「存储结构」和「传输形式」进行配备提升。在我具体查看之后,寻找群集的文档存储格式为Parquet,一种列式储存模块,类似的也有ORC。

亚博体彩APP

而文档的传输形式为Snappy。确立的作业者形式以下:①开创Parquet构造的报表(Hive0.13andlater):CREATETABLECRM.DEMO(AINT)STOREDASPARQUET;②确认表的文档存储格式:descformattedcrm.demo;結果键入以下#StorageInformationSerDeLibrary:org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDeInputFormat:org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormatOutputFormat:org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat③开创Snappy传输格式的Parquet构造的报表(待参观考察):ALTERTABLEcrm.demoSETTBLPROPERTIES('parquet.compression'='SNAPPY');或,加载时SETparquet.compression=SNAPPY;回到最开始的难题,如果是按Snappy传输的格式,这一份客户不负责任数据没有办法剖析了,因而有二种方法去解决困难:①改装Snappy的可执行程序专用工具可自主百度搜索,因为没管理权限,因此 这条道路权宜之计;②变动数据的传输格式能够最开始我中举了一下变动Parquet格式表的传输格式,可是不起作用!由于我最终是务必将搜索数据给出到当地系统文件,以下句子下图:insertoverwritelocaldirectory'/home/etl/tmp/data'select*fromcrm.demo因此 ,根据那样的形式得到 的数据,传输格式依然是.Snappy。

亚博体彩APP下载

因而,这儿就务必配备Hive执行全过程中的正中间数据和最终数据的传输格式。如MapReduce的shuffle环节对mapper造成的正中间結果数据缩小:hive>setmapred.map.output.compression.codec;mapred.map.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec如对最终溶解的Hive表的数据缩小:hive>setmapred.output.compression.codec;mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec这儿,我们要设定結果报表数据的传输格式,句子以下:setmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;最终的結果便是.gz的传输格式-rw-r--r--1etletl342094May1011:13000000_0.gz最终,大家必需iTunes到电脑上当地,必需可执行程序就可以根据Excel剖析客户不负责任途径数据了。汇总:从Hive网络层的视角而言,有关数据文档的「存储结构」和「传输形式」,这两个点我们不务必关注,仅仅在给出数据的情况下务必结合图片大小,及其数据种类去设定合适的传输格式。

但是从Hive最底层保证 的视角而言,涉及到各式各样的「存储结构」和「传输形式」,都务必开发人员去科学研究和调节,那样才可以保证 群集上的文档在「時间」和「室内空间」上较为平衡。


本文关键词:亚博体彩APP,亚博体彩APP官方下载,亚博体彩APP下载

本文来源:亚博体彩APP-www.bjatrs.com