hive编程指南——读书笔记(无知拾遗)

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(01)^B(02)^C(01) 级别递减,列,字段内元素间(如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


分区:
原文地址:https://www.cnblogs.com/cl1024cl/p/6205367.html