一旦工作,那就要努力的干,聪明的干,快速的干——用省下来的时间干自己喜欢干的事情。!

Hive-01

hadoop lampnick 1874℃ 0评论
RDBMS
    Relation Database Management System 关系型数据库管理系统
    OLTP:online transaction process.在线事务处理
    A.原子性
    C.一致性
    I.隔离性
    D.永久性

    低延迟
    
事务并发现象
    1.脏读:读未提交
    2.不可重复读:读不回去
    3.幻读:读多了

事务的隔离级别
    1.读未提交
    2.读已提交
    4.可以重复读
    8.串行化
    级别越高,性能越差


Hive
    数据仓库软件。
    存储,重在分析数据,延迟高。
    使用SQL来读、写、管理驻留在分布式存储系统大型数据集。可以使用命令行和JDBC驱动连接到Hive
    运行在Hadoop之上,用来汇集查询数据。
    OLAP:online analyze process,在线分析处理

不是:
    1.关系弄数据库
    2.不是OLTP
    3.不适合实时查询和底层更新

特征
    1.在数据库中存放schema,处理数据库到HDFS
    2.OLAP
    3.提供类SQL语言,HQL(HiveSQL)
    4.快速,可扩展,可伸缩,速度快

Hive架构

UI(WEB UI/CLI/)
MetaStore   +   HQL Process Engine
                Execution Engine
                MapReduce
HDFS/Hbase...

Hive组件

UI                  //
MetaStore           //存储schema,table,column信息在RDBMS
HQL Process Engine  //编写SQL代替以前MR程序
Execution Engine    //处理查询,生成结果
HDFS                //存储数据

Hive安装

1.下载并tar开
2.安装jdk
3.安装hadoop
4.配置环境变量
    HIVE_HOME
    PATH=..;
    $>tart -zxvf apache-xxx.gx
    $>mv apache-hive-xx /soft
    $>ln -s /soft/apache-hive-xx hive
    $>sudo vim /etc/environment
    HIVE_HOME=/soft/hive
    :/soft/hive/bin
    source /etc/environment
    echo $HIVE_HOME
    echo $PATH
5.查看Hive版本
    hive --version
    
配置hive
[${hive_home}/conf/hive-env.sh]
HADOOP_HOME=/soft/hadoop

配置Hive的元数据库
    1.Hive使用rdbms存储元数据,内置了derby数据库
    2.hive/conf/hive-default.xml.template //hive的默认配置,不要修改
    复制到hive-site.xml
    $>cp hive-default.xml.template hive-site.xml
    3.修改配置hive-site.xml
    4.替换${system:java.io.tmpdir}=/home/hadoop/hive
    替换${system:uer.name}=hadoop0
    在家目录创建这两个文件夹

使用Hive
1.启动hadoop
2.初始化schema库
    $>hive/bin/schematool -initSchema -dbType derby
3.完成后,在当前目录下创建一个文件夹metastore_db(元数据库)
4.
5.进入hive shell
    $>hive
    
hive常见命令,类似于MySQL
    $hive>show databases;
    $hive>show tables;
    $hive>create database myhive;
    $hive>use myhive;
    $hive>!clear;//清屏
    
    加载数据到hive(hdfs)
    $hive>
    $hive>!linux命令;//hive中执行linux shell命令
    $hive>dfs -lsr /;   //查询hdfs文件
    
将hive中的schema存放到外部的MySQL中
1.编写hive-site.xml,添加MySQL连接信息
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConectionURL</name>
        <value>jdbc:mysql://192.168.88.1:3306/myhive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
    </property>


2.在MySQL中创建myhive数据库
$mysql>create database myhive;
3.MySQL驱动程序(jar)放置到hive classpath下
hive/lib
4.重新初始化hive schema元数据库
$>hive/bin/schematool -initSchema -dbtype mysql
    
    
启动hiveserver2服务
接收多个客户端连接请求,使得client通过jdbc连接操作hive数据仓库
$>hive/bin/hive --service hiveserver2 start //启动服务
$>jobs
$>ctrl+z
$>bg %1
$>netstat -ano|grep 10000 //查看端口

转载请注明:MitNick » Hive-01

喜欢 (0)or分享 (0)
头像
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址