美文网首页
hadoop实战-4.hive的搭建与使用

hadoop实战-4.hive的搭建与使用

作者: 笨鸡 | 来源:发表于2019-03-20 17:02 被阅读0次

1.准备工具

  • mysql 5.6.43
  • hive 3.1.1
mysql的安装就跳过了

2.配置环境

mv apache-hive-3.1.1-bin.tar.gz /usr/local
cd /usr/local
tar -zxvf apache-hive-3.1.1-bin.tar.gz
mv apache-hive-3.1.1 hive

sudo vi /etc/profile

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

source /etc/profile

3.修改配置文件

3.1 vim hive-env.sh

cd /hive/conf
vim hive-env.sh

# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/usr/local/hadoop    #Hadoop安装路径
export HIVE_HOME=/usr/local/hive    #Hive安装路径
export HIVE_CONF_DIR=$HIVE_HOME/conf    #Hive配置文件路径
3.2 vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration> 
<!--Hive作业的HDFS根目录位置 --> 
<property>
    <name>hive.exec.scratchdir</name>
    <value>/user/hive/tmp</value>
</property>
<!--Hive作业的HDFS根目录创建写权限 --> 
<property>
    <name>hive.scratch.dir.permission</name>
    <value>733</value>
</property>
<!--hdfs上hive元数据存放位置 --> 
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive/warehouse</value>   
</property>
<!--连接数据库地址,名称 -->  
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://master: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>hive</value>
</property> 
<!--连接数据库用户密码 -->  
<property>  
  <name>javax.jdo.option.ConnectionPassword</name>  
  <value>hive</value>
</property>
<!--客户端显示当前查询表的头信息 --> 
 <property>
  <name>hive.cli.print.header</name>
  <value>true</value>
</property>
<!--客户端显示当前数据库名称信息 --> 
<property>
  <name>hive.cli.print.current.db</name>
  <value>true</value>
</property> 
</configuration> 
3.3 mysql jdbc驱动导入

mysql-connector-java-5.1.47-bin.jar 放到 hive/lib下

4.创建mysql hive用户

mysql> CREATE DATABASE hive; 
mysql> USE hive; 
mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive'; 
mysql> GRANT ALL ON hive.* TO 'hive'@'master' IDENTIFIED BY 'hive'; 
mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; 
mysql> FLUSH PRIVILEGES; 
mysql> quit;

5.启动hive

5.1 初始化hive

schematool -dbType mysql -initSchema


hive1.png
#处理,mysql用户权限问题
mysql> GRANT ALL ON hive.* TO 'hive'@'master' IDENTIFIED BY 'hive'; 
hive2.png
5.2 启动hive

hive


hive3.png

6.试用hive

vim students.txt

95002,刘晨,女,19,IS
95017,王风娟,女,18,IS
95018,王一,女,19,IS
95013,冯伟,男,21,CS
95014,王小丽,女,19,CS
95019,邢小丽,女,19,IS
95020,赵钱,男,21,IS
95003,王敏,女,22,MA
95004,张立,男,19,IS
95012,孙花,女,20,CS
95010,孔小涛,男,19,CS
95005,刘刚,男,18,MA
95006,孙庆,男,23,CS
95007,易思玲,女,19,MA
95008,李娜,女,18,CS
95021,周二,男,17,MA
95022,郑明,男,20,MA
95001,李勇,男,20,CS
95011,包小柏,男,18,MA
95009,梦圆圆,女,18,MA
95015,王君,男,18,MA
hive (default)> create database myhive;
OK
Time taken: 0.937 seconds
hive (default)> use myhive;
OK
Time taken: 0.054 seconds
hive (myhive)> select current_database();
OK
_c0
myhive
Time taken: 5.276 seconds, Fetched: 1 row(s)
hive (myhive)> create table student(id int, name string, sex string, age int, department string)
             > row format delimited fields
             > terminated by ","
             > ;
OK
Time taken: 0.983 seconds
hive (myhive)> load data local inpath "/root/students.txt" into table student;
Loading data to table myhive.student
OK
Time taken: 0.876 seconds
hive (myhive)> select *from student;
OK
student.id  student.name    student.sex student.age student.department
95002   刘晨  女   19  IS
95017   王风娟 女   18  IS
95018   王一  女   19  IS
95013   冯伟  男   21  CS
95014   王小丽 女   19  CS
95019   邢小丽 女   19  IS
95020   赵钱  男   21  IS
95003   王敏  女   22  MA
95004   张立  男   19  IS
95012   孙花  女   20  CS
95010   孔小涛 男   19  CS
95005   刘刚  男   18  MA
95006   孙庆  男   23  CS
95007   易思玲 女   19  MA
95008   李娜  女   18  CS
95021   周二  男   17  MA
95022   郑明  男   20  MA
95001   李勇  男   20  CS
95011   包小柏 男   18  MA
95009   梦圆圆 女   18  MA
95015   王君  男   18  MA
Time taken: 0.414 seconds, Fetched: 21 row(s)
hive (myhive)> desc student;
OK
col_name    data_type   comment
id                      int                                         
name                    string                                      
sex                     string                                      
age                     int                                         
department              string                                      
Time taken: 0.132 seconds, Fetched: 5 row(s)

7.hive相关语法

https://blog.csdn.net/qq_15300683/article/details/80455097

喜欢的话,希望您动动小手点个赞支持下哦

相关文章

网友评论

      本文标题:hadoop实战-4.hive的搭建与使用

      本文链接:https://www.haomeiwen.com/subject/muktvqtx.html