北沙滩网站建设公司,电子商务网站建设管理论文,网站关键词优化排名软件,宁波甬晟园林建设有限公司网站一、行式数据库和列式数据库的对比1、存储比较行式数据库存储在hdfs上式按行进行存储的#xff0c;一个block存储一或多行数据。而列式数据库在hdfs上则是按照列进行存储#xff0c;一个block可能有一列或多列数据。2、压缩比较对于行式数据库#xff0c;必然按行压缩#…一、行式数据库和列式数据库的对比1、存储比较行式数据库存储在hdfs上式按行进行存储的一个block存储一或多行数据。而列式数据库在hdfs上则是按照列进行存储一个block可能有一列或多列数据。2、压缩比较对于行式数据库必然按行压缩当一行中有多个字段各个字段对应的数据类型可能不一致压缩性能压缩比就比较差。对于列式数据库必然按列压缩每一列对应的是相同数据类型的数据故列式数据库的压缩性能要强于行式数据库。3、查询比较假设执行的查询操作是select id,name from table_emp;对于行式数据库它要遍历一整张表将每一行中的id,name字段拼接再展现出来这样需要查询的数据量就比较大效率低。对于列式数据库它只需找到对应的id,name字段的列展现出来即可需要查询的数据量小效率高。假设执行的查询操作是select * from table_emp;对于这种查询整个表全部信息的操作由于列式数据库需要将分散的行进行重新组合行式数据库效率就高于列式数据库。但是在大数据领域进行全表查询的场景少之又少进而我们使用较多的还是列式数据库及列式储存。二、stored as file_format 详解1、建一张表时可以使用“stored as file_format”来指定该表数据的存储格式hive中表的默认存储格式为TextFile。2、TEXTFILE、SEQUENCEFILE、RCFILE、ORC等四种储存格式及它们对于hive在存储数据和查询数据时性能的优劣比较TEXTFILE: 只是hive中表数据默认的存储格式它将所有类型的数据都存储为String类型不便于数据的解析但它却比较通用。不具备随机读写的能力。支持压缩。SEQUENCEFILE: 这种储存格式比TEXTFILE格式多了头部、标识、信息长度等信息这些信息使得其具备随机读写的能力。支持压缩但压缩的是value。(存储相同的数据SEQUENCEFILE比TEXTFILE略大)RCFILE(Record Columnar File): 现在水平上划分为很多个Row Group,每个Row Group默认大小4MBRow Group内部再按列存储信息。由facebook开源比标准行式存储节约10%的空间。ORC: 优化过后的RCFile,现在水平上划分为多个Stripes,再在Stripe中按列存储。每个Stripe由一个Index Data、一个Row Data、一个Stripe Footer组成。每个Stripes的大小为250MB每个Index Data记录的是整型数据最大值最小值、字符串数据前后缀信息每个列的位置等等诸如此类的信息。这就使得查询十分得高效默认每一万行数据建立一个Index Data。ORC存储大小为TEXTFILE的40%左右使用压缩则可以进一步将这个数字降到10%~20%。ORC这种文件格式可以作用于表或者表的分区可以通过以下几种方式进行指定示例创建带压缩的ORC存储表PARQUET: 存储大小为TEXTFILE的60%~70%压缩后在20%~30%之间。注意不同的存储格式不仅表现在存储空间上的不同对于数据的查询效率也不一样。因为对于不同的存储格式执行相同的查询操作他们访问的数据量大小是不一样的。如果要使用TEXTFILE作为hive表数据的存储格式则必须先存在一张相同数据的存储格式为TEXTFILE的表table_t0,然后在建表时使用insert into table table_stored_file_ORC select from table_t0;创建。或者使用create table as select from table_t0;创建。