hive-1.2.1安装以及简单使用

精选30+云产品,助力企业轻松上云!>>> hot3.png

Hive只在一个节点上安装即可

1.上传tar包

2.解压

	tar -zxvf hive-1.2.1.tar.gz -C /apps/

3.安装mysql数据库(切换到root用户)(装在哪里没有限制,只有能联通hadoop集群的节点)

4.配置hive

  • (a)配置HIVE_HOME环境变量 vi conf/hive-env.sh 配置其中的$hadoop_home
1.配置hive环境变量,编辑
vi /etc/profile
#set hive env
export HIVE_HOME=/root/apps/hive-1.2.1
export PATH=${HIVE_HOME}/bin:$PATH
source /etc/profile
2.配置hadoop环境变量【安装hadoop时候已配置】
cd apps/hive-1.2.1/conf
4.1 cp hive-env.sh.template hive-env.sh
vi hive-env.sh
将以下内容写入到hive-env.sh文件中
export JAVA_HOME=/usr/local/java-1.8.231
export HADOOP_HOME=/root/apps/hadoop-2.6.5
export HIVE_HOME=/root/apps/hive-1.2.1
4.2 配置元数据
vi hive-site.xml

添加如下内容:

<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.52.200:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
</configuration>

5.安装hive和mysq完成后,将mysql的连接jar包拷贝到hive安装目录的/lib目录下

如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)
mysql -uroot -p
#(执行下面的语句  *.*:所有库下的所有表   %:任何IP地址或主机都可以连接)
	GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql' WITH GRANT OPTION;
	FLUSH PRIVILEGES;
	grant all privileges on *.* to root@"192.168.52.200" identified by "mysql" with grant option;
	FLUSH PRIVILEGES;

【注意】:需要配置hadoop和hive的环境变量,在启动hive之前需要启动hadoop的hdfs、yarn

6. Jline包版本不一致的问题,需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的

/apps/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar

7.1 启动hive程序

bin/hive

【注意】移植很强悍,只需要需改好的hive-1.2.1拷贝到其他机器,不许做任何修改,直接可启动用,如:

scp -r hive-1.2.1/ hadoop02:/root/apps/

7.2 显示当前使用的库,和开启字段名称

set hive.cli.print.current.db=true;
set hive.cli.print.header=true;

8.0如果启动hive服务、客户端呢???

# 启动服务hiveserver2 10000端口
bin/hiveserver2    # 这里没有后台运行
nohup bin/hiveserver2 1>/dev/null 2>&1 &    # 后台运行服
# 开启beeline客户端
bin/beeline
beeline>!connect jdbc:hive2://hadoop1:10000
用户名root 直接回车
客户端很好看!!!!!
# 退出客户端
beeline>!quit

9.0 建内部表(默认是内部表default) 字段之间 , 分开的

create table trade_detail(id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by ',';

9.1 建外部表

建外部表,任意目录,可以非/usr/warehouse/下,外部表删除后,hdfs中的数据目录不会删除。

create external table td_ext(id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by ',' location '/lod/20190202/';

10. 创建分区表

10.1 普通表和分区表区别:有大量数据增加的需要建分区表

create table log (id bigint, url string) partitioned by (daytime string) row format delimited fields terminated by ',';

10.2 **导入本机数据到分区表 hdfs的hive仓库中
1.手动上传
2.hive命令,再次执行的话会追加数据
hive>load data local inpath '/root/log1.log/' log partition(daytime='20190904'); # 指定分区20190904
10.3 分区表加载数据
select *
from log
where daytime='20190904'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Coding路人王

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

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

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

打赏作者

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

抵扣说明:

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

余额充值