大数据 技术与应用(四)Hive的安装配置

简介

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。
因此,Hive 并不适合那些需要低延迟的应用,例如,联机事务处理(OLTP)。Hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的HiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户。Hive 并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作。Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。

一 安装MySql

官网下载mysql-server(yum安装)

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

解压

rpm -ivh mysql-community-release-el7-5.noarch.rpm
1

安装

yum install mysql-community-server

重启mysql服务:

service mysqld restart 

进入mysql

mysql -u root

为root用户设置密码

mysql> set password for 'root'@'localhost' =password('root');

远程连接设置:
把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户:

mysql> grant all privileges on *.* to root@' %'identified by 'root';

mysql>flush privileges; 刷新权限

如果是新用户而不是root,则要先新建用户:

mysql>create user 'username'@' %' identified by 'password';  

Hive的安装配置

/

通过wget下载hive-2.3.5

wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.5/apache-hive-2.3.5-bin.tar.gz

将hive解压到/usr/local

tar -zxvf apache-hive-2.3.5-bin.tar.gz -C /usr/local/

将文件重命名为hive文件:

mv apache-hive-2.3.5-bin hive

在 vi /etc/profile末尾加

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

source /etc.profile

hive --version

有hive的版本显现,安装成功!

配置hive-env.sh

cp hive-env.sh.template  hive-env.sh

修改Hadoop的安装路径

HADOOP_HOME=/opt/module /hadoop-2.3.5

修改Hive的conf目录的路径

export HIVE_CONF_DIR=/usr/local/hive/conf

配置hive-site.xml

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

<property>
<!-- 元数据库的链接地址 mysql -->
       <name>javax.jdo.option.ConnectionURL</name>         
<value>jdbc:mysql://bigdata131:3306/hivedb?createDatabaseIfNotExist=true</value>
       <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<!-- 指定mysql驱动 -->
<!-- mysql5的驱动是com.mysql.jdbc.Driver,mysql6以后的是com.mysql.cj.jdbc.Driver。 --> 
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>Driver class name for a JDBC metastore</description>
</property>
<property>
<!-- 指定mysql用户名 -->
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
        <description>username to use against metastore database</description>                    
</property>
<property>
<!-- 指定mysql密码 请输入自己的MySQL连接密码 -->
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
        <description>password to use against metastore database</description>
</property>

启动hive

启动Hadoop
初始化Metastore架构:schematool -dbType mysql -initSchema
启动Hive:hive

Hive实现WordCount

建数据源文件并上传到hdfs的/user/input目录下
建数据源表t1:create table t1 (line string)
装载数据:load data inpath ‘/user/input’ overwrite into table t1;
编写HiveQL语句实现wordcount算法,建表wct1保存计算结果:

create table ct1 as select word, count(1) as count from (select explode (split (line, ' ')) as word from t1) w group by word order by word;

查看wordcount计算结果:

select * from ct1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值