hive搭建之本地模式和远程模式

hive搭建之本地模式和远程模式

hive的本地模式和远程模式区别在于用于存储表结构元信息的数据库在本地还是远程,

如果数据库在本地那么就叫做本地模式,如果在远程那就叫做远程模式

搭建

我们数据库使用的是mysql,在搭建之前还需要注意的就是需要导入一个mysql的驱动到hive的lib中

建议导入一个高版本的,实验中我们使用的是5.1.34的jar包

修改配置文件,用户环境变量我们使用之前配置嵌入模式的环境变量,

这里就不配置了,如果你没有配置的话那么配置一个HIVE_HOME

然后配置hive启动的配置文件,同样需要我们主动创建一个配置文件叫hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <!--用于连接mysql的连接-->
		<property>
			<name>javax.jdo.option.ConnectionURL</name>
			<value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>
		</property>
        <!--用于连接mysql的驱动-->
		<property>
			<name>javax.jdo.option.ConnectionDriverName</name>
			<value>com.mysql.jdbc.Driver</value>
		</property>
		 <!--用于连接mysql的用户名-->		
		<property>
			<name>javax.jdo.option.ConnectionUserName</name>
			<value>hiveowner</value>
		</property>
		<!--用于连接mysql的密码-->		
		<property>
			<name>javax.jdo.option.ConnectionPassword</name>
			<value>Welcome_1</value>
		</property>
</configuration>

需要提前在mysql中创建一个hive数据库

然后初始化mysql,并创建需要存储hive元信息的表到hive数据库中

初始化MetaStore:
        schematool -dbType mysql -initSchema

然后hive数据中被创建了好多表

与嵌入模式不同的是 我们可以在任意目录下启动hive命令,不会报错

同样我们进行测试

测试

在hive命令行工具下执行

create table student(sid int,sname string,sage int);

创建这个表的元信息就被存储到了mysql中hive数据中以下俩个表

然后再插入一条记录

insert into  student values(1,"Lily",13);

这条语句就会被hive翻译成一个mapreduce程序

然后我们查询一下这个表的数据

这里和嵌入式有点不同的是可以在任意目录下执行hive命令

还有就是在数据库初始化的时候往CTLGS中插入一条数据,这个条数据在启动以后要更新成本地的hdfs地址

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

枣泥馅

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

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

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

打赏作者

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

抵扣说明:

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

余额充值