时间:2021-07-01 10:21:17 帮助过:3人阅读
删除hive-site内部所有内容
修改bin目录下的hive-config.sh,增加以下三行
export JAVA_HOME=/usr/local/jdk export HIVE_HOME=/usr/local/hive export HADOOP_HOME=/usr/local/hadoop
cd bin/ 执行hive 显示数据库:show databases; 进入数据库:use default; 显示数据库中的表:show tables; 创建表:create table t1(id int); 查询内容:select * from t1;
hive的映射关系:
Hive中的数据库,表对应HDFS中的文件夹.
Hive表中的列对应HDFS中的文件夹中的数据文件中的数据的不同字段.
Hive表中的数据对应于HDFS中的文件夹中的数据文件中的数据.
当hive部署成功后,hive默认的数据库default在hdfs上对应的目录是/usr/hive/warehouse
修改hive的metastore为mysql
centos上安装mysql
yum install mysql-server 启动mysql service mysqld start 启动mysql mysqld_safe & 访问mysql mysql -uroot 进入mysql数据库 use mysql; 查询用户user的密码 select password ,user from user; 修改用户密码 update user set password=password(‘admin‘); 修改mysql为允许远程连接 grant all on *.* to ‘root‘@‘%‘ identified by ‘admin‘; 刷新 flush privileges; 之前的操作在当前回话中立即生效 退出登录 mysql -uroot -padmin
将mysql的jdbc驱动放到hive的lib目录中,
cp mysql-connector-java-5.1.10 /usr/local/hive/lib
修改hive/conf/hive-site.xml
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop4:3306/hive_hadoop?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>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>admin</value> </property>
删除hive/bin/下面的metastore_db,derby.log
操作:
hive use default; show tables; create table t1(id int); quit; mysql -uroot -padmin show databases; use hive_hadoop; shwo tables;
DBS:hive上的数据库
TBLS:表的信息
COLUMNS_V2:列的信息
select * from dbs; select * from tbls \g; select * from columns_v2;
加载linux磁盘文件到hive表中:对hive的操作实际上是对hdfs的操作,对hdfs的操作只允许一次写入不允许修改的,load的数据来自于磁盘文件.
vi onecolumn
1
2
3
4
5
vi onecolumn 数据
将hive配置到环境变量中:
vi ~/.bashrc export PATH=/usr/local/hive/bin:$PATH source ~/.bashrc hive load data local inpath ‘./onecolumn‘ into table t1; select * from t1;查询 drop table t1;删除表 hive中没有修改将hive添加到环境变量中
多列数据的上传:
create table t2(id int,name string) row format delimited fields terminated by ‘\t‘; vi user 1 zhangsan 2 lisi 3 wangwu load data local inpath ‘./user‘ into table ‘t2‘; select * from t2; select name from t2;
当需要查询某一列的时候,hive就不能够进行全表扫描了,只能走mapreduce
创建表:
create table t1(id int); create table t2(id int,name string) row format delimited fields terminated by ‘\t‘;
加载linux磁盘文件到hive的表中:
load data local inpath ‘./onecolumn‘ into table t1;
load data local inpath ‘./user‘ into table t2;
HIve体系结构,hive的安装和mysql的安装,以及hive的一些简单使用
标签: