hive常用命令

来源:互联网 发布:漏洞提交平台 知乎 编辑:程序博客网 时间:2024/05/16 01:06
set hive.cli.print.header=true;           控制在cli中是否显示表的列名

set hive.cli.print.current.db=true;     设置在cli中显示当前数据库名称 

在hive cli中执行source <filename>能执行file中的命令 


-S 参数能以静默模式运行(只输出结果信息,没有其他的花费时间的记录) 
-i   能在hive启动时加载一段脚本 (.hiverc)


! 后能在hive cli中执行linux系统命令 
dfs 后能执行hadoop dfs 命令,效率比hadoop dfs高(因为dfs直接在hive的jvm中运行,不需要单独开一个jvm) 


建表语句 
create external  table if not exists extenddata ( 
              i int, 
              name string) 
              row format delimited fields terminated by ',' 
              location '/data/'; 


查看表信息 


 describe formatted <tablename>; 

设置严格模式

禁止提交没加where子句的mapreduce查询 (严格模式和非严格模式) 
避免数据量比较大的情况下触发巨大的mapreduce任务 

set hive.mapred.mode=strict/nonstrict 


指定Hive任务的map和reduce数
set mapred.reduce.tasks = **;
set mapred.map.tasks = **; 


1.在Vi里面输入tab键会默认转换为空格,需要在命令行模式中设置关闭
  set noexpandtab
2.刷新表的分区信息
  msck repair table order_created_partition;

3.更新impala元数据库
invalidate metadata;

4.Hive中对小表执行MAPJOIN
select /*+MAPJOIN(t1,t2)*/

  


0 0
原创粉丝点击