hive搭建和基本使用

目录

1、Hive描述

2、Hive下载安装


1、Hive描述

Hive是什么?

由facebook开源,最初用于解决海量结构化的日志数据统计问题;
   ETL (Extraction-Transformation-Loading )工具

     构建在Hadoop之上的数据仓库;
   数据计算使用MR ,数据存储使用HDFS

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

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

     可认为是一个HQL MR的语言翻译器。
Hive典型应用场景

     日志分析
   统计网站一个时间段内的pv、uv
   多维度数据分析
   大部分互联网公司使用Hive进行日志分析,包括百度、淘宝等

     其他场景
   海量结构化数据离线分析
   低成本进行数据分析(不直接编写MR)

Hive各模块组成

用户接口
   包括 CLI ,JDBC/ODBC ,WebUI

     元数据存储(metastore)
   默认存储在自带的数据库derby 中,线上使用时一般换为MySQL

     驱动器(Driver)
   解释器、编译器、优化器、执行器

     Hadoop
   用 MapReduce进行计算,用HDFS进行存储

数据定义语句(DDL)
 

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
(col_name data_type, ...)
[PARTITIONED BY (col_name data_type, ...)]
[CLUSTERED BY (col_name, col_name, ...) [SORTED BY
(col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
[SKEWED BY (col_name, col_name, ...)]
[ [ROW FORMAT row_format] [STORED AS file_format] ]
[LOCATION hdfs_path]

2、Hive下载安装

1:下载地址

http://archive.apache.org/dist/hive

2:解压
3:配置hive的环境变量
    在当前用户的.bashrc中配置如下内容
  

  export HIVE_HOME=/home/hadoop/bd/apache-hive-2.1.0-bin

4:配置hive安装目录下的conf目录下的hive-env.sh文件
    该文件可以通过复制hive-env.sh.template改名得来
    配置内容如下:
  

  # Set HADOOP_HOME to point to a specific hadoop install directory
     HADOOP_HOME=/home/hadoop/bd/hadoop-2.7.3

    # Hive Configuration Directory can be controlled by:
     export HIVE_CONF_DIR=/home/hadoop/bd/apache-hive-2.1.0-bin/conf

    # Folder containing extra ibraries required for hive compilation/execution can be controlled by:
     export HIVE_AUX_JARS_PATH=/home/hadoop/bd/apache-hive-2.1.0-bin/lib

5:修改hive的日志文件存放的地址
  

  cp hive-log4j2.properties.template hive-log4j2.properties
    通过vi修改日志的存放文件
    property.hive.log.dir = /home/hadoop/bd/apache-hive-2.1.0-bin/logs

6:启动hadoop集群

7:安装默认的derby数据库为hive的元数据库
    可以先通过./schematool --help 命令来查看schematool命令的一些选项
     ./schematool -dbType derby -initSchema,使用这个命令来安装derby数据库为元数据

8:执行bin目录下的hive命令,进入hive命令行
    ./hive

如果没有问题的话,hive就安装成功了


1:创建表
    create table 表名
    指定分隔符创建表:

create table teacher (id int, name string) row format delimited fields terminated by '\t';

二:更改元数据库为mysql

1:复制文件hive-default.xml.template更名为hive-site.xml

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

2:清空hive-site.xml里面的配置信息
    添加我们自定义的信息

    <configuration>
     <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hm02:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123</value>
    </property>
  </configuration>

3:拷贝mysql驱动jar包到hive安装目录下的lib目录

4:mysql授权以及实例化metastore
    1)如果之前对该主机和用户进行了授权,那么可以不用再次授权,否则进行授权,参考sqoop那章
    (grant all privileges on *.* to root@'主机名' identified by '密码')
    前提是use mysql这个库。

    2)实例化metastore命令:
    ./schematool -dbType mysql -initSchema

5:关于mysql数据库作为元数据库的几点说明
    1)hive当中创建的表的信息,在元数据库的TBLS表里面
    2)这个表的字段信息,在元数据库的COLUMNS_V2表里面
    3)这个表在HDFS上面的位置信息,在元数据库的SDS表里面


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fyihdg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值