当前位置: 移动技术网 > 科技>人工智能>云计算 > Hive使用概述以及环境配置

Hive使用概述以及环境配置

2018年03月05日  | 移动技术网科技  | 我要评论

本文概述:

Hive产生背景

Hive是什么

为什么要使用Hive

Hive部署架构

Hive与RDBMS的关系、区别

Hive的优缺点

Hive适用场景

Hive环境搭建

Hive产生背景:

MapReduce编程的不便性

传统Rdbms人员的需要

Hive是什么:

由Facebook开源,最初用于解决海量结构化的日志数据统计问题

构建在Hadoop之上的数据仓库

Hive定义了一种类SQL查询语言:HQL(类似SQL,但不完全相同)

通常用于进行离线数据处理(采用MapReduec)

可以认为是一个HQL=>MR的语言翻译器

底层支持多种不同的执行引擎

支持多种不同的压缩格式、存储格式以及自定义函数

为什么要使用Hive:

简单,容易上手(提供类似SQL查询语言HQL)

为超大数据集设计的计算、扩展能力(MR作为计算引擎,HDFS作为存储系统

统一的元数据管理(可与Pig、Presto、Impala、SparkSQL等共享元数据)

Hive的体系架构

\

Hive部署架构

测试环境

\

生产环境

\

Hive与RDBMS的关系、区别

\

Hive的优缺点

优点:容易上手易用

缺点:并不能提供低延时或者实时性比较高的需求(各种启动、销毁进程的时间要长)

Hive适用场景

日志分析

海量结构化数据离线分析

Hive环境搭建

环境搭建之前先查看本地是否已经安装mysql数据库

1、下载

2、配置hive-site.xml文件

进入hive的conf目录下,拷贝文件hive-default.xml.template命名为hive-site.xml

cp hive-default.xml.template hive-site.xml

添加如下内容:


  	//39行
hive.exec.scratchdir
 	    /home/hadoop/app/hive/tmp/hive
hive用于存储不同阶段map/reduce的执行计划及存储中间输出结果的目录

//79行
hive.downloaded.resources.dir
/home/hadoop/app/hive/tmp/${hive.session.id}_resources
            hive下载资源的存储目录
       
 //1685行
       	     hive.querylog.location
             /home/hadoop/app/hive/tmp/hive
      	     hive结构日志存储目录
    	
   	//3976行
       	 hive.server2.logging.operation.log.location
      	 /home/hadoop/app/hive/tmp/hive/operation_logs
      	 hive的操作日志目录
	
    //84行
        hive.scratch.dir.permission
        700
        hive访问hadoop文件权限设置
   	
   //529行
        javax.jdo.option.ConnectionPassword
        P@ssw0rd
        元数据存储的数据库的密码
    	
    //1044行
       	 javax.jdo.option.ConnectionUserName
       	 root
       	 元数据存储数据库的用户名
    	
    //545行
        javax.jdo.option.ConnectionURL
       	jdbc:mysql://localhost:3306/hive_metadatacreateDatabaseIfNotExist=true&characterEncoding=utf8
        元数据存储的数据库的url
    	
   //1020行
        javax.jdo.option.ConnectionDriverName
        com.mysql.jdbc.Driver
       	元数据存储的数据库的驱动
    	
    //741行
        datanucleus.schema.autoCreateAll
        true
       	 开启自动创建(生产环境中不推荐使用)
    
    //746行
        hive.metastore.schema.verification
        false
    
  
    //2445行
    	 hive.optimize.sort.dynamic.partition
    	 false
    
    //2775行
    hive.support.concurrency
        true
   
   找不到的话,在任意位置添加上即可
   	hive.enforce.bucketing
   	true
   
   //250行
   	hive.exec.dynamic.partition.mode
   	nonstrict
   
   //2870行
   	hive.txn.manager
   	org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
   
   //2964行
   hive.compactor.initiator.on
   	true
   
   //2974行
   hive.compactor.worker.threads
   1
   
   找不到的话,在任意位置添加上即可
   	hive.in.test
   	true
   
   
    //1195
   	hive.cli.print.current.db
   	true
   

3、lib下面添加mysql依赖包

mysql-connector-java-5.1.7-bin

4、添加hive配置

#hive

export HIVE_HOME=/home/hadoop/app/hive

export PATH=$ZK_HOME/bin:$PATH

5、启动hive

hiveserver2

beeline -u jdbc:hive2://

成功之后mysql下会多出一个hive数据库

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网