Hive1.2.2安装步骤(Ubuntu17.04环境下搭建)

一、Hive简介

Hive是基于Hadoop文件系统上的数据仓库架构,支持类SQL语言——HiveQL,允许用户进行类似于传统关系型数据库的操作,同时允许开发人员使用MapReduce,Hive将指令解析成为一个Map-Reduce可执行计划,再交给Hadoop集 群进行处理。

二、Hive安装(以Hive1.2.2为例)

1.下载Hive安装包,官网下载
2.选择路径解压,我选择到了/usr/local/hadoop-2.8.0/hive (Hadoop也已经装好并且环境也以配置好,大家可以参考其他配置Hadoop博客)
3.配置环境变量,打开命令行

sudo vim /ect/profile

添加Hive的bin的Path

export HIVE_HOME=/usr/local/hadoop-2.8.0/hive
export PATH=$PATH:$HIVE_HOME/bin

保存退出

在命令行中输入

source /etc/profile

4.修改Hive配置文档
在hive/conf目录下,有一个hive-default.xml.template文件,这是默认配置的一个模板,需要将该文档变成用户自定义所需要的配置文件。命令行中输入。

cd $HIVE_HOME/conf
sudo vim hive-site.xml

下面是我自己的配置文件

<configuration>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
        <description>Username to use against metastore database</description>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hive</value>
        <description>password to use against metastore database</description>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
        <description>JDBC connect string for a JDBC metastore</description>
    </property>
    <property>  
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>Driver class name for a JDBC metastore</description>
    </property>
</configuration>

其中只配置了元数据库为MySQL,其他未配置的项目都是采用Hive的默认配置。

5.此时需要在MySQL中建立一个用户名为hive,密码为hive的用户并授予权限
进入Mysql命令行之后,输入

CREATE USER ‘hive'@'%' IDENTIFIED BY 'HIVE';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
flush privileges;

6.若需要远程访问MySQL,则需要修改”/etc/mysql/mysql.conf.d/mysqld.cnf”,注释掉bind-address这一行即可。

三、JDBC连接Hive并进行操作

需要导包”mysql-connector-java-5.1.41.jar”,将其复制到$HIVE_HOME/lib,且放入java 工程下面
启动hadoop及hive的两个service

cd /usr/local/hadoop-2.8.0/sbin/
./start-all.sh
hive --service hiveserver2 &
hive --service metastore &

成功启动后命令行输入jps查看当前状态,如下图即正确启动(有两个RunJar)
这里写图片描述

java 代码如下

public class Hive {

    private static String driverName = "org.apache.hive.jdbc.HiveDriver";
    private static String url = "jdbc:hive2://localhost:10000/default";
    private static String username = "hive";
    private static String password = "hive";
    private static String hdfsUri = "hdfs://localhost:9000";

    public static String selectFromHive() {
        Connection con = null;
        String s = "";
        //注册Hive的JDBC
        try {
            Class.forName(driverName);
            //创建连接
            con = DriverManager.getConnection(url,username,password);
            //Statement用来执行SQL语句
            Statement stat = con.createStatement();
            //展示分区
            String sql = "show partitions wifi_data";
            ResultSet rs = stat.executeQuery(sql);
            while (rs.next()) {
                System.out.println();
                s +=rs.getString(1)+'\n';//hive的索引从1开始
            }


        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return null;
        }  catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        return s;
    }
}

运行截图如下:
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值