`
cloudtech
  • 浏览: 4612190 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Hive深入应用总结

 
阅读更多

记录下官方文档上讲的比较少,觉得有用的hive相关知识,绝对干货。

命令:

表明tb1

describe extended tb1;返回表tb1字段,存储格式类型,位置,修改时间等等关于表的详细信息

show functions;显示可以用的函数列表,包括可用的udf函数。

describe function length; 返回length函数的说明,执行输出length(str) - Returns the length of str

set hive.enforce.bucketing;执行显示某个属性的只,这里显示是否确保表中使用桶hive.enforce.bucketing=false,可以通过set hive.enforce.bucketing=true来修改为true;

hive --hiveconf hive.root.logger=DEBUG,console 设置进入本次session中的参数值,这里设置调试信息发送到控制台

set hive.groupby.skewindata=true 在执行某条可能会出现数据倾斜的HQL前设置,会分两个阶段来执行HQL解决数据倾斜。

explainHQL可以查看HQL的查询计划

SHOW PARTITIONS page_view;
SHOW TABLES 'page.*';

DESCRIBE EXTENDED page_view PARTITION (ds='2008-08-08');

ALTER TABLE tab1 ADD COLUMNS (c1 INT COMMENT 'a new int column', c2 STRING DEFAULT 'def val');

对于数据量比较大的排重select count(sid) from tb1 group by sid;会比select count(distinct sid) from tb1更有效。

hive0.6.0以后支持create datebase dbname,use dbname,drop database dbname来进行分库操作

hive 表分为托管表和外部表

托管表drop表时元数据和数据会被一起删除。

外部表由自己来控制数据的创建和删除,drop表不会删除数据,外部表的位置需要在建表的时候指明。建表create external table tb1....

load数据是一个移动操作,加上local关键字,hive会把本地文件系统的数据复制到hive仓库目录,在同一个文件系统中就会变成复制

查看rcfile格式存储的文件内容

hive -rcfilecat /user/hive/warehouse/tb1/dt=20120325/hour=15/000000_0

顺便说下hadoop查看顺序文件内容,可以使压缩文件,例如

hadoop fs -text /user/hive/warehouse/tb1/dt=20120317/20120317.lzo

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics