什么是Hive?

一.什么是hive

hive由Facebook实现并开源,hive是依赖于hadoop的一个数据库(数据仓库),可以让开发者在不清楚MapReduce编程的情况下完成MapReduce的任务执行,把MapReduce程序封装成了HQL语句,使用户像操作sql一样去操作MapReduce程序。

二.hive的组成部分

三.hive的特点

    优点:

  1、可扩展性,横向扩展,Hive 可以自由的扩展集群的规模,一般情况下不需要重启服务 横向扩展:通过分担压力的方式扩展集群的规模 纵向扩展:一台服务器cpu i7-6700k 4核心8线程,8核心16线程,内存64G => 128G

  2、延展性,Hive 支持自定义函数,用户可以根据自己的需求来实现自己的函数

  3、良好的容错性,可以保障即使有节点出现问题,SQL 语句仍可完成执行

缺点:

  1、Hive 不支持记录级别的增删改操作,但是用户可以通过查询生成新表或者将查询结 果导入到文件中(当前选择的 hive-2.3.2 的版本支持记录级别的插入操作)

  2、Hive 的查询延时很严重,因为 MapReduce Job 的启动过程消耗很长时间,所以不能 用在交互查询系统中。

  3、Hive 不支持事务(因为没有增删改,所以主要用来做 OLAP(联机分析处理),而 不是 OLTP(联机事务处理),这就是数据处理的两大级别)。

四.hive的安装步骤

  1. 下载hive的linux安装包
  2. 解压安装包到对应的目录
  3. 配置hive的环境变量
  4. 配置hive的元数存储数据库据库

           在hive的目录下新建一个hive-site.xml文件 加入如下内容

        

5.配置好元数据数据库后需要初始化数据 导入对应的表

       schematool -dbType mysql -initSchema

五.使用sql语句创建表

     create database 数据库名

     create table 表名

     row format delimited 代表一个回车为一行数据

   fields terminated by ","; 代表字段按照对应的分隔符进行分割

  1. 创建文件 touch wangsen.texe
  2. 给文件添加数据 根据设计的表结构添加 根据上文得出 “,”分隔符

例如:id name age

        1,www,22

         2,eeee, 33 

  1. 把文件上传到数据库中 Hadoop fs -put wangsen.text (文件名)/hive/dbs/hadoop001.db/wangsen(表名)
  2. 删除原文件 rm wangsen.text
  3. 执行sql语句

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值