hive的特点和要点总结

发布时间:2021-09-10 16:50:25 作者:chen
来源:亿速云 阅读:289

这篇文章主要讲解了“hive的特点和要点总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“hive的特点和要点总结”吧!

 一.什么是Hive与其特点
       官网介绍:The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL 。 也就是说:hive数据仓库软件使用sql读取、写入和管理驻留在分布式存储中的大型数据集。说明Hive的开发语言是SQL,而实际我们常见的分布式计算框架也就spark,MapReduce,Storm等,那么Hive如何使用SQL语言去进行分布式计算呢?

1.1Hive可以看做是MapReduce的客户端

         因为Hive的底层运算是MapReduce计算框架,Hive只是将可读性强,容易编程的SQL语句通过Hive软件转换成MR程序在集群上执行。hive可以看做mapreduce客户端,能用mapreduce程序完成的任务基本都可以对应的替换成hql(Hive SQL)编写的hive任务。所以因为hadoop和hdfs的本身设计的特点,也限制了hive所能胜任的工作特性。Hive最大的限制特点就是不支持基于行记录的更新,删除,增加。但是用户可以通过查询生成新表,或者将查询结果导入文件中来“实现”hive基于行记录的操作。

1.2.Hive是批处理系统

    因为mapreduce是批处理系统,所以hive也是基于海量数据的批处理的。同样因为mapreduce具有高延迟(1.启动时间长2.中间结果放在本地而非内存中),造成hive执行也耗时过长。

1.3.hive不支持事物

   所以不支持OLTP(连接事物处理),更适用与OLAP(联机分析处理),同样Hive还有不支持很多SQL的用法 ,后面会说。

 二.hive和hdfs,mysql,mapreduce之间的关系
   1.举例说明hive,mysql和hdfs之间的关系
          下面是一个完成的流程,从hive中创建表,到往表里导入数据,1-9说明了hive,mysql,hdfs之间的流程。

hive的特点和要点总结

   2.要点总结
  1.Hive不存储数据,Hive需要分析计算的数据,以及计算结果后的数据实际存储在分布式系统上,如HDFS上。

  2.Hive某种程度来说也不进行数据计算,只是个解释器,只是将用户需要对数据处理的逻辑,通过SQL编程提交后解释成MapReduce程序,然后将这个MR程序提交给Yarn进行调度执行。所以实际进行分布式运算的是MapReduce程序

  3.因为Hive为了能操作HDFS上的数据集,那么他需要知道数据的切分格式,如行列分隔符,存储类型,是否压缩,数据的存储地址等信息。为了方便以后操作所以他需要将这些信息通过一张表存储起来,然后将这张表(元数据)存储到mysql中。为了啥存储到mysql里(实际是远程mysql),因为hive本身就是一个解释器,所以他不存储数据 ,为啥存到远程mysql里,后面会说。

mysql中的hive数据库是自己手动创建的,然后执行下面语句:

schematool -dbType mysql -initSchema 

该语句的作用是在mysql的hive数据库下建立一大堆的表格.

------------下面是hive操作-------------

hive> show databases;
OK
default
hive
Time taken: 0.018 seconds, Fetched: 2 row(s)

------------下面是mysql操作-------------

mysql> use hive
Database changed
mysql> select * from DBS;
+-------+-----------------------+-----------------------------------+---------+------------+------------+-----------+
| DB_ID | DESC                  | DB_LOCATION_URI                   | NAME    | OWNER_NAME | OWNER_TYPE | CTLG_NAME |
+-------+-----------------------+-----------------------------------+---------+------------+------------+-----------+
|     1 | Default Hive database | file:/user/hive/warehouse         | default | public     | ROLE       | hive      |
|    11 | NULL                  | file:/user/hive/warehouse/hive.db | hive    | appleyuchi | USER       | hive      |
+-------+-----------------------+-----------------------------------+---------+------------+------------+-----------+
2 rows in set (0.00 sec)

感谢各位的阅读,以上就是“hive的特点和要点总结”的内容了,经过本文的学习后,相信大家对hive的特点和要点总结这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 总结thinkphp和Yii框架的特点
  2. HIVE sql使用总结

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hive

上一篇:Docker怎么批量导入或删除镜像和容器脚本

下一篇:怎么通过重启路由的方法切换IP地址

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》