set hive.metastore.warehouse.dir=/user/myname/hive/warehouse;
用户设定自己的数据仓库目录。不影响其他用户。也在$HOME/.hiverc中设置,则每次启动hive自动加载
hive -(d,ef,H,h,i,p,S,v)
定义变量var,在hql中直接引用${var}
set (显示或修改)
set; (看所有变量)
set env:HOME;
set -V;
不加-V打印命名空间
hive --define foo=bar (-d简写)
set foo (查看变量)
set hivevar:foo=bar2(重赋值)
set hivevar:foo (查看)
hive -S -e "select * from..." (-S是静默模式,去掉ok、time taken等辅助输出信息,只保留查询结果)
hive -f 等同于 source
hive -i 指定hive初始化时加载文件。没有就自动加载$HOME/.hiverc中设置,则每次启动hive自动加载
$HOME/.history 历史100条命令
CLI(hive shell)中 用! 执行shell命令
显示字段名称 set hive.cil.print.header=true;
字符串s 转整型 cast(s as int)
分隔符 ^A(\001)^B(\002)^C(\001) 级别递减,列,字段内元素间(如map、struct)分隔,元素的键值之间分隔
ROW FORMAT DELIMITED 是操作一行记录间各字段的分隔,行和STORED不需要
DATABASE操作:
create DATABASE IF NOT EXITS A
LOCATION ‘$PATH‘ --创建database会给一个hdfs存储目录,以A.db命名的目录,LOCATION可指定A在hdfs的存储位置
show databases LIKE ‘h*‘
另外 WITH添加database的描述
table操作
create table db.A --可以在其他db(非当前db)下建表
COMMENT 添加表说明文档
TBLPROPERTIES 按键值对格式为表添加额外说明
copy一张表:create mydb.A2 LIKE mydb.A
show tables IN mydb 指定db下的表
show tables ‘A*‘ 过滤出指定的类似表
desc formatted/extended mytable
分区: