Hive(10)-文件存储格式】的更多相关文章

Hive支持的存储数据的格式主要有:TEXTFILE .SEQUENCEFILE.ORC.PARQUET 一. 列式存储和行式存储 左边为逻辑表,右边第一个为行式存储,第二个为列式存储 1. 行式存储的特点 查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快. 2.列式存储的特点 因为每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量:每个字段的数据类型一定是…
一.ORC File文件结构 ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度.和Parquet类似,它并不是一个单纯的列式存储格式,仍然是首先根据行组分割整个表,在每一个行组内进行按列存储.ORC文件是自描述的,它的元数据使用Protocol Buffers序列化,并且文件中的数据尽可能的压缩以降低存储空间的消…
一.ORC File文件结构 ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度.和Parquet类似,它并不是一个单纯的列式存储格式,仍然是首先根据行组分割整个表,在每一个行组内进行按列存储.ORC文件是自描述的,它的元数据使用Protocol Buffers序列化,并且文件中的数据尽可能的压缩以降低存储空间的消…
摘自:https://blog.csdn.net/xueyao0201/article/details/79103973 引申阅读原理篇: 大数据:Hive - ORC 文件存储格式 大数据:Parquet文件存储格式…
Hive常见文件存储格式 背景:列式存储和行式存储 首先来看一下一张表的存储格式: 字段A 字段B 字段C A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 C4 A5 B5 C5 行式存储 A1B1C1 A2B2C2 A3B3C3 A4B4C4 A5B5C5 列式存储 A1A2A3A4A5 B1B2B3B4B5 C1C2C3C4C5 优缺点比较: 行式存储 优点: 相关的数据是保存在一起,比较符合面向对象的思维,因为一行数据就是一条记录 这种存储格式比较方便进行INSERT/U…
hive文件存储格式 1.textfile textfile为默认格式   存储方式:行存储   磁盘开销大 数据解析开销大   压缩的text文件 hive无法进行合并和拆分 2.sequencefile 二进制文件,以<key,value>的形式序列化到文件中 存储方式:行存储可分割 压缩一般选择block压缩, 优势是文件和Hadoop api中的mapfile是相互兼容的. 3.rcfile 存储方式:数据按行分块 每块按照列存储 压缩快 快速列存取 读记录尽量涉及到的block最少…
一.存储格式行存储和列存储 二.Hive文件存储格式 三.创建语句和压缩 一.存储格式行存储和列存储 行存储可以理解为一条记录存储一行,通过条件能够查询一整行数据. 列存储,以字段聚集存储,可以理解为相同的字段存储在一起. 二.Hive文件存储格式 TEXTFILE, Hive数据表的默认格式,存储方式:行存储. 可以使用Gzip压缩算法,但压缩后的文件不支持split 在反序列化过程中,必须逐个字符判断是不是分隔符和行结束符,因此反序列化开销会比SequenceFile高几十倍. SEQUEN…
合理使用文件存储格式 建表时,尽量使用 orc.parquet 这些列式存储格式,因为列式存储的表,每一列的数据在物理上是存储在一起的,Hive查询时会只遍历需要列数据,大大减少处理的数据量. 采用合适的文件压缩 Hive最终是转为 MapReduce 程序来执行的,而 MapReduce 的性能瓶颈在于网络 IO 和 磁盘 IO,要解决性能瓶颈,最主要的是减少数据量,对数据进行压缩是个好的方式.压缩虽然是减少了数据量,但是压缩过程要消耗CPU的,但是在Hadoop中, 往往性能瓶颈不在于CPU…
hive 存储格式有很多,但常用的一般是 TextFile.ORC.Parquet 格式,在我们单位最多的也是这三种 hive 默认的文件存储格式是 TextFile. 除 TextFile 外的其他格式的表不能直接从本地文件导入数据,要先导入到 TextFile 格式的表中,再从表中用 insert 导入到其他格式的表中. 一.TextFile TextFile 是行式存储. 建表时无需指定,一般默认这种格式,以这种格式存储的文件,可以直接在 HDFS 上 cat 查看数据. 可以用任意分隔符…
ORC文件格式是从Hive-0.11版本开始的.关于ORC文件格式的官方文档,以及基于官方文档的翻译内容这里就不赘述了,有兴趣的可以仔细研究了解一下.本文接下来根据论文<Major Technical Advancements in Apache Hive>中的内容进行深入的研究. 一.ORC文件格式 ORC的全称是(Optimized Record Columnar),使用ORC文件格式可以提高hive读.写和处理数据的能力.ORC在RCFile的基础上进行了一定的改进,所以与RCFile相…
一.Parquet的组成 Parquet仅仅是一种存储格式,它是语言.平台无关的,并且不需要和任何一种数据处理框架绑定,目前能够和Parquet适配的组件包括下面这些,可以看出基本上通常使用的查询引擎和计算框架都已适配,并且可以很方便的将其它序列化工具生成的数据转换成Parquet格式. 查询引擎: Hive, Impala, Pig, Presto, Drill, Tajo, HAWQ, IBM Big SQL 计算框架: MapReduce, Spark, Cascading, Crunch…
一.Parquet的组成 Parquet仅仅是一种存储格式,它是语言.平台无关的,并且不需要和任何一种数据处理框架绑定,目前能够和Parquet适配的组件包括下面这些,可以看出基本上通常使用的查询引擎和计算框架都已适配,并且可以很方便的将其它序列化工具生成的数据转换成Parquet格式. 查询引擎: Hive, Impala, Pig, Presto, Drill, Tajo, HAWQ, IBM Big SQL 计算框架: MapReduce, Spark, Cascading, Crunch…
本文在Hive-ORC文件存储格式的理论基础上,进一步分析一个实际的Hive ORC表中的数据存储形式. 一.表结构 库名+表名:fileformat.test_orc 字段 类型 category_id string product_id int brand_id int price double category_id_2 string 在hive中命令desc formatted fileformat.test_orc;的结果如下图: 根据上图中的location信息,查看在HDFS上的文…
Hive的后端存储是HDFS,它对大文件的处理是非常高效的,如果合理配置文件系统的块大小,NameNode可以支持很大的数据量.但是在数据仓库中,越是上层的表其汇总程度就越高,数据量也就越小.而且这些表通常会按日期进行分区,随着时间的推移,HDFS的文件数目就会逐渐增加.   小文件带来的问题   关于这个问题的阐述可以读一读Cloudera的这篇文章.简单来说,HDFS的文件元信息,包括位置.大小.分块信息等,都是保存在NameNode的内存中的.每个对象大约占用150个字节,因此一千万个文件…
1.orc列式存储概念 a)列式存储:orc并不是纯粹的列式存储,也是先基于行对数据表进行分组(行组),然后对行组进行列式存储. b)查询数据的时候不需要扫描全部数据(磁盘IO),只需查询指定列即可. c)orc对每一列提供了常规统计信息(min . max . sum等),加速查询.例如过滤条件f>10,如果当前分片的max小于10,则直接过滤掉这个分片. d)每一列的数据都是同构的,因此压缩效率更高. e)读写orc文件需要压缩.解压,需要消耗额外的cpu资源. 以上是orc文件格式的优劣点…
hive当中的数据存储格式: 行式存储:textFile sequenceFile 都是行式存储 列式存储:orc parquet 可以使我们的数据压缩的更小,压缩的更快 数据查询的时候尽量不要用select * 只选取我们需要的字段即可 hive的数据存储格式:用的比较多的一种行式存储 : textfile 用的比较多的列式存储: orc parquet 其中orc底层有自带的一种压缩算法,会对数据进行压缩的比较厉害 实际工作当中,很多时候,列式存储的数据格式都是选择orc或者parquet…
hive的数据存储格式 Hive支持的存储数的格式主要有:TEXTFILE(行式存储) .SEQUENCEFILE(行式存储).ORC(列式存储).PARQUET(列式存储). 1 列式存储和行式存储 上图左边为逻辑表,右边第一个为行式存储,第二个为列式存储. 行存储的特点: 查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快. 列存储的特点: 因为每个字段的数据聚集存储,在查询只需要少…
Windows 10文件夹Shirt+鼠标右键出现“在此处打开命令窗口” Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\cmdX] @="@shell32.dll,-8506" "Extended"="" "ShowBasedOnVelocityId"=dword:00639bc8 "NoWorki…
1.文本文件 ,二进制文件 二进制文件:用vi 打开一个图片,MP3,视频 2.文件打开方式 # 重定向 文件不存在 文件存在 r error 文件开头 w 相当于 > 创建 覆盖,删除以前的内容 a 相当于 >> 创建 追加到末尾          3 .读取文件内容 1)f.read() In [1]: f = open("test.py","r") In [2]: f.read() Out[2]: 'imprordfnsaf \ndsafds…
Hive不同文件的读取对照 stored as textfile 直接查看hdfs hadoop fs -text hive> create table test_txt(name string,val string) stored as textfile; stored as sequencefile hadoop fs -text hive> create table test_seq(name string,val string) stored as sequencefile; stor…
Hive中将文件加载到数据库表失败解决办法(hive创建表失败) 遇到的问题: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: java.net.ConnectException Call From dblab-VirtualBox/127.0.1.1 to localhost:9000 failed o…
Hive数据类型 基础数据类型: TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CHAR,VARCHAR,DATE. 复杂数据类型: 包括ARRAY,MAP,STRUCT,UNION.这些复杂类型是由基础类型组成的. ARRAY:ARRAY类型是由一系列同样数据类型元素组成的,这些元素能够通过下标来訪问.比方有一个ARRAY类型的变量fruits.它是由['apple','oran…
hive表的源文件存储格式有几类: 1.TEXTFILE 默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理.源文件可以直接通过hadoop fs -cat 查看 2.SEQUENCEFILE 一种Hadoop API提供的二进制文件,使用方便.可分割.可压缩等特点. SEQUENCEFILE将数据以<key,value>的形式序列化到文件中.序列化和反序列化使用Hadoop 的标准的Writable 接口实现.key为空,用value 存放实际的值,…
本文首发于公众号:五分钟学大数据 小文件产生原因 hive 中的小文件肯定是向 hive 表中导入数据时产生,所以先看下向 hive 中导入数据的几种方式 直接向表中插入数据 insert into table A values (1,'zhangsan',88),(2,'lisi',61); 这种方式每次插入时都会产生一个文件,多次插入少量数据就会出现多个小文件,但是这种方式生产环境很少使用,可以说基本没有使用的 通过load方式加载数据 load data local inpath '/ex…
MR代码: package merge; import java.io.IOException; import java.util.Iterator; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoo…
Hive自定义函数包括三种UDF.UDAF.UDTF UDF(User-Defined-Function) 一进一出 UDAF(User- Defined Aggregation Funcation) 聚集函数,多进一出.Count/max/min UDTF(User-Defined Table-Generating Functions)  一进多出,如lateral view explore() 使用方式 :在HIVE会话中add 自定义函数的jar文件,然后创建function继而使用函数…
在新建Hive表时,可以使用stored as rcfile来指定hive文件的存储方式为RCFile. 一.RCFile文件结构 下图是一个RCFile的文件结构形式. 从上图可以看出: 1)一张表可以包含多个HDFS block. 2)在每个block中,RCFile以行组(row group,类似于ORC中的stripe)为单位存储其中的数据.所谓行组是指在关系型数据块中,若干条记录组成的一个group.对于一张表来说,row group的大小是固定的.通过HDFS的block大小和row…
外部文件导入到Hive的例子: [training@localhost ~]$ cd ~[training@localhost ~]$ pwd/home/training[training@localhost ~]$ [training@localhost ~]$ vim customers.txt[training@localhost ~]$ [training@localhost ~]$ cat customers.txt001 Ali us002 Bsb ca003 Carls mx [t…
-- 重点,目标表无重复数据 -- dbName.num_result 无重复记录 -- 插入数据 CREATE TABLE dbName.test_textfile( `key` string, `value` string, `p_key` string, `p_key2` string) STORED AS textfile ; '; drop table dbName.test_orcfile; CREATE TABLE dbName.test_orcfile( `key` string…
今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容.       ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多       一*, 文件的上传: 1 * 分析实现步骤: 1.1* 客户端浏览器通过文件域选择本地要上传的文件.   * 点击"上传&…