hive详解
、hive:
——————————————————————————————
·hive解释
hive是建立在hdfs之上,对数据操作分析的工具。hive存储数据结构(schema)在数据库中,处理的数据进入hdfs.
·hive结构
hdfs: 存储真正的数据
Meta store:元数据库:存储表结构(一般是mysql)
Hive QL Peocess English: hive查询处理器
Execution English: 执行引擎(一般是mapreduce)
user interfaces : 命令接口 (如web ui)
·hive流程
大体流程如下:
1提交作业给驱动——>2.编译器编译——3>元数据库从mysql中查出结构——>4.5返回——>6交给执行引擎—
——>7执行作业(mapreduce运行)从hdfs查询——>8.9.10返回结果
二、安装hive(这里把mysql数据库安装在本地)
________________________________________________________
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 –version
5.配置hive,使用win10的mysql存放hive的元数据.
a)复制mysql驱动程序到hive的lib目录下。
…
b)配置hive-site.xml
复制hive-default.xml.template为hive-site.xml
修改连接信息为mysql链接地址,将${system:…字样替换成具体路径。
[hive/conf/hive-site.xml]
- <property>
- <name>javax.jdo.option.ConnectionPassword</name>
- <value>密码</value>
- <description>password to use against metastore database</description>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionUserName</name>
- <value>你的用户名</value>
- <description>Username to use against metastore database</description>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:mysql://ip地址:3306/数据库名字</value>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionDriverName</name>
- <value>com.mysql.jdbc.Driver</value>
- <description>Driver class name for a JDBC metastore</description>
- </property>
6)在msyql中创建存放hive信息的数据库
mysql>create database hive2 ;
7)初始化hive的元数据(表结构)到mysql中。
$>cd /soft/hive/bin
$>schematool -dbType mysql -initSchema
注意主机防火墙会禁止端口,所以应该添加防火墙例外端口
windows添加防火墙例外端口方法
进入防火墙选择高级设置
入站规则设置
1 选择 入站规则 然后 新建规则,选择 端口,然后下一步
2 选择TCP 选择特定端口 然后输入端口,如有多个端口需要用逗号隔开了 例如: 3306
3 选择允许连接
4 选择配置文件
5 输入规则名称 如:mysqlport
出站规则设置
1 选择出站规则 然后 新建规则,选择 端口,然后下一步
2 选择TCP 选择特定端口 然后输入端口,如有多个端口需要用逗号隔开了 例如: 3306
3 选择允许连接
4 选择配置文件
5 输入规则名称 如:mysqlport