区别
1.Hive使用类SQL语句的查询功能,使用hdfs进行存储,MapReduce计算
2.查询语句:Hive的本质是将hql转化为mapReduce;
3.数据存储位置:hive将数据存储在hdfs,而关系型数据库则是将数据存在块设备或者本地文件系统中;
4.数据格式:hive中没有定义专门的数据格式,数据格式由用户指定,用于定义数据格式需要指定三个属性:列分隔符(通常为空格,‘\t’,”\x001”),行分隔符(“\n”)以及读取文件的方法(HIVE中默认有三种文件格式textfile,sequencefile,以及Rcfile)。由于在加载数据的过程中,不需要从用户数据格式到hive定义的数据格式转换,因此,hive在加载过程中不会对数据本身进行任何修改,而只是数据内容的复制或者移动到相应的hdfs目录中。而在数据库中,不同的数据库又不同的存储引擎,定义了自己的数据格式。所有数据都会按照一定的组织存储,因此数据库加载数据的过程会比较耗时
5.数据更新:由于hive是针对数据仓库应用设计的,而数据仓库的仓库是读多写少,因此,hive中不支持数据的改写和添加,所有数据都是加载的时候确定好的。而数据库中的数据通常要经常进行修改的,因此可以使用insert into 。。。values添加数据,使用update …set修改数据。仅支持覆盖重写整个表
6.执行延迟:hive查询数据的时候,需要扫描整个表格,导致延迟高,另外一个原因就是,执行hiVe计算的框架是Hadoop,由于MapReduce本身具有较高的延迟,因此有较高的延迟,所以当数据规模较小的时候,就不太适用hive了。
hive简单介绍
最新推荐文章于 2023-07-27 10:24:46 发布