hive安装和基本操作

hive
------------------

在hadoop处理结构化数据的数据仓库。(结构化数据就是数据结构非常严谨,像二维表)

不是:     关系数据库
不是:     不是OLTP
不是      实时查询和行级更新。hive特点
----------
hive存储数据结构(schema)在数据库中,处理的数据进入hdfs.
OLAP
HQL / HiveQL




hive安装
-------------
1.下载hive2.1-tar.gz
2.tar开
$>tar -xzvf hive-2.1.0.tar.gz -C /soft //tar开
$>cd /soft/hive-2.1.0 //
$>ln -s hive-2.1.0 hive //符号连接

3.配置环境变量
[/etc/profile]
HIVE_HOME=/soft/hive
PATH=...:$HIVE_HOME/bin


4.验证hive安装成功
$>hive -v


5.配置hive,使用win7的mysql存放hive的元数据.
a)复制mysql驱动程序到hive的lib目录下。
...
b)配置hive-site.xml
复制hive-default.xml.template为hive-site.xml
修改连接信息为mysql链接地址,将${system:...字样替换成具体路径。
[hive/conf/hive-site.xml]

javax.jdo.option.ConnectionPassword
root
password to use against metastore database


javax.jdo.option.ConnectionUserName
root
Username to use against metastore database


javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.231.1:3306/hive2


javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore



6)在msyql中创建存放hive信息的数据库
mysql>create database hive2 ;


6)初始化hive的元数据(表结构)到mysql中。
$>cd /soft/hive/bin
$>schematool -dbType mysql -initSchema







hive命令行操作
------------------------
1.创建hive的数据库


$hive>hive --version //
$hive>hive --help //


$hive>create database mydb2 ; //
$hive>show databases ;
$hive>use mydb2 ;
$hive>create table mydb2.t(id int,name string,age int);
$hive>drop table t ;
$hive>drop table mydb2.t ;
$hive>select * from mydb2.t ; //查看指定库的表
$hive>exit ; //退出


$>hive //hive --service cli
$>hive //hive --service cli




通过远程jdbc方式连接到hive数据仓库
--------------------------------
1.启动hiveserver2服务器,监听端口10000
(soft/hive/bin) $>hive --service hiveserver2 &
2.通过beeline命令行连接到hiveserver2
$>beeline //等价于hive --service beeline
$beeline>help //查看帮助
$beeline>!connect jdbc:hive2://localhost:10000/mydb2//连接到hive数据
$beeline>show databases ;




使用Hive-jdbc驱动程序采用jdbc方式访问远程数据仓库
----------------------------------------------------
1.创建java模块
2.引入maven
3.添加hive-jdbc依赖

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0


com.it18zhang
HiveDemo
1.0-SNAPSHOT




org.apache.hive
hive-jdbc
2.1.0




4.App
package com.it18zhang.hivedemo;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


/**
* 使用jdbc方式连接到hive数据仓库,数据仓库需要开启hiveserver2服务。
*/
public class App {
public static void main(String[] args) throws  Exception {
Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection conn = DriverManager.getConnection("jdbc:hive2://192.168.231.201:10000/mydb2");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select id , name ,age from t");
while(rs.next()){
System.out.println(rs.getInt(1) + "," + rs.getString(2)) ;
}
rs.close();
st.close();
conn.close();
}
}


hive中表
-------------------
1.managed table
托管表。
删除表时,数据也删除了。


2.external table
外部表。
删除表时,数据不删。




你可能感兴趣的:(hive)