赞
踩
保存了Hive中所有关键性的数据
tips:
Hive本身没有提供这个文件
Apache版本中提供了一个hive-default.xml
CDH版本什么都没有提供
将提供的hive-site.xml上传到hive的配置文件目录下
指定存储元数据的Mysql的地址 tips:value中的node-03为测试虚拟机
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node-03:3306/hivemetadata?createDatabaseIfNotExist=true</value>
</property>
指定连接Mysql的驱动
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
Mysql的用户名和密码 tips:value中的账号密码自己修改
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
tips:我的路径为/export/servers/hive-1.1.0-cdh5.14.0/lib/
cd /export/servers/hive-1.1.0-cdh5.14.0/
bin/hive
create database db_lianjia;
use db_lianjia;
create table tb_lianjia(
xiaoqu string,
huxing string,
area double,
region string,
floor string,
chaoxiang string,
tprice double,
sprice double,
nianfen string
) row format delimited fields terminated by ',';
load data local inpath '/export/datas/2nd_house_price.csv' into table tb_lianjia;
select xiaoqu,region,tprice,sprice from tb_lianjia limit 10;
select count(*) from tb_lianjia;
SDS:记录了Hive中的表与HDFS文件的映射关系
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
查看配置的在hdfs上的仓库路径
/user/hive/warehouse
的作用:下面放的是数据库的目录
下面放的是default数据库中表的目录
可以读到
select * from table
select * from hdfs://node:8020/user/hive/warehouse/db/table
不能
由于这个分区目录是你自己建的,Hive中没有这个分区对应的元数据
select * from table
select * from 元数据中这张表对应的所有分区的目录
解决
msck repair table tb_emp_part2;
ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec [LOCATION 'location']
alter table tb_emp_part2 add partition 'dept=40' location '/user/hive/warehouse/db_emp.db/tb_emp_part2/dept=40';
DBS、TBLS
SDS
/user/hive/warehouse
即 HiveWareHouse/Database/Table/Data
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。