HIVE基本使用

笔者注:这里安装的版本为hive-0.13.1

1.基本操作

注:[]表示可选

1.创建数据库

create database [if not exists] db_hive ;

2.使用数据库

use db_hive ;

3.删除数据库

drop database [if exists] db_hive;

4.创建表

 create table stu (id int ,name string) 

row format delimited fields terminated by ',' ;

行格式化 用,分隔字段

5.查看所有的表

show tables ;

6.查看表信息

查看表结构

desc stu;

查看详细信息

desc extended stu ;

查看详细信息(格式化)

desc formatted stu;

7.从本地加载数据到表中

vi stu.txt 自己准备一下数据按,分隔就好

load data local inpath '/root/hive_datas/stu.txt' into table db_hive.stu ;

把文件映射到表中。

默认的数据库仓库路径/user/hive/warehouse,创建的数据库在它的下面,表当然在数据库下面啦,

文件加载到表的路径下面啦。把文件加载到表啦。

default数据库下直接创建stu表 位置也是在/user/hive/warehouse下面啦 有一个文件夹stu

 更改默认位置 可以修改这个值:

<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
  <description>location of default database for the warehouse</description>
</property>

注意:养成好的习惯,在表名前面加上数据库的名字。

执行select 查询,当文件中字段和分隔符不能对应表中的数据和分隔符时,会出现null的情况,可以仔细检查一下,然后先删除truncate表的数据,再load导入一下,它默认是继续追加的。

8.查看自带的函数

show functions ;

查看一个函数的功能

desc function sum ;

查看一个函数的详细功能

desc function extended upper ;

应用:select id,upper(name) from stu;

9.HIVE日志文件配置

原来的日志文件

hive.log.threshold=ALL
hive.root.logger=WARN,DRFA
hive.log.dir=${java.io.tmpdir}/${user.name}
hive.log.file=hive.log

可以输出 echo ${java.io.tmpdir}

没有的话1.cd /tmp 2.然后cd 当前用户目录下 3.ll 会看到有一个hive.log的文件 4.tail -f hive.log 查看日志

修改日志文件(对应目录自己创建)

hive.log.threshold=ALL
hive.root.logger=WARN,DRFA
hive.log.dir=/opt/software/hive-0.13.1-cdh5.3.6/logs
hive.log.file=hive.log

再次启动的时候便可以看到日志文件的位置改变了。

10.set会话信息

exit;

退出之后设置的信息就失效了。仅仅在当前会话有效

查看当前所有的配置信息 set;

设置值 set key=value;

查看某个值 set key;

11.bin/hive -help 查看非交互式命令

设置logger运行的级别

bin/hive --hiveconf hive.root.logger = INFO,console;

查询

2.bin/hive -e "select ..." 

执行一个sql文件。

3.bin/hive -f "/../../XXX.sql"

4.执行一个sql文件并重定向输出

bin/hive -f "/../../XXX.sql" > PATH

 

12.在hive-cli操作hdfs

hive (default)> dfs -rm -R /user/hive/warehouse/stu;

 

13.在hive-cli操作本地文件

hive (default)> ! ls /root/hive_datas ;

14.quit和exit的区别

在新版的oracle中没区别了,在以前的版本是有的:
exit:先隐性提交数据,再退出;
quit:不提交数据,退出;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值