1、受控表(managed table)包括内部表、分区表、桶表;

1.1、分区表

创建分区表:

create table banji(id INT,name STRING) partitioned by(grade INT) row format delimited fields terminated by '\t';
create table member(id INT,name STRING) partitioned by(year INT,month INT) row format delimited fields terminated by '\t';

为分区表加载数据

load data local inpath 'student1' into table banji partition(grade=1);
load data local inpath 'student1' into table banji partition(year=2014,month=1);

*分区字段在文件中是没有的,但是查询是显示出来的,分区字段是作为虚拟列存在的

分区不是越多越好,需要对分区数量进行限制(分区过多,会产生过多的小文件)

分区字段:查询比较频繁 ,并且不会有很多枚举值的字段适合作为分区字段

1.2、桶表(bucket table)

桶就是那个模的数字

优点:每个桶的数据量差不多,在进行表连接查询的的时候方便

缺点:按业务字段查的时候没效果

应用场景:抽样、表连接

创建桶表

create table bucket(id INT,name STRING) clustered by(id) into 3 buckets;

启用桶表

SET hive.enforce.bucketing=true;

  

添加数据

insert overwrite table bucket select id ,name from banji;

*不能用load方式,load方式是简单的复制进hive表,insert的时候,会通过mr处理分桶

2、非受控表指外部表

删除表的时候只删除了表定义,不会对HDFS中的数据进行删除

创建外部表

create external table ext_table(c1 STRING,c2 STRING) row format delimited fields terminated by '\t' location '/ext_data';

3、命令行工具

3.1、set命令可以设置变量也可以显示变量

3.2、设置启动初始化命令

*hive启动时会默认执行home下的.hiverc文件,该文件位于home目录下

set hive.cli.print.current.db=true ;
#打印当前数据库名
set hive.cli.print.header=true;
#打印标题行
set hive.querylog.location=logpath;
#设置hive的查询日志保存地址

  

3.2、在不进入hive的命令行的情况下执行hvie命令

hive -e "hive命令"
hive -e "">>aaa
#结果追加到aaa文件中
hive -S -e "">>bbb
#输出较少日志

  

3.3、指定hive执行日志存放地址

hive --hiveconf hive.querylog.location=logpath

  

3.4、执行文件中的hive脚本

hive -f file

在hive命令行时执行:

source file

hive 学习笔记——表的入门操作和命令的更多相关文章

  1. hive学习笔记——表的基本的操作

    1.hive的数据加载方式 1.1.load data 这中方式一般用于初始化的时候 load data [local] inpath '...' [overwrite] into table t1 ...

  2. hive学习笔记-表操作

    Hive数据类型 基本数据类型 tinyint,smallint,int,biging,float,double,decimal,char,varchar,string,binary,boolean, ...

  3. hive学习笔记之三:内部表和外部表

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. hive学习笔记之四:分区表

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. hive学习笔记之五:分桶

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. hive学习笔记之六:HiveQL基础

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. hive学习笔记之七:内置函数

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. hive学习笔记之十:用户自定义聚合函数(UDAF)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<hive学习笔记>的第十 ...

  9. Hadoop学习笔记(1) ——菜鸟入门

    Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...

随机推荐

  1. [原创]PostgreSQL Plus Advince Server在 HA环境中一对多的Stream Replication配置(二)

    三.配置主机与备机的ssh无密码登录1.主机s1到备机s3的无密码登录a.创建ssh目录[root@s1 ~]# mkdir /opt/PostgresPlus/9.2AS/.sshb.修改ssh目录 ...

  2. Mysql ubuntu下的安装卸载

    删除 mysql sudo apt-get autoremove --purge mysql-server-5.0sudo apt-get remove mysql-serversudo apt-ge ...

  3. cocos2dx中的假动作,又称动作回调函数

    1.动作与动画的区别 动作是:定时器+属性的改变,是帧循环的累积效应 动画是:帧图片的播放效果,我们知道电影的播放就是快速播放的胶片,这就是动画的原理 2.假动作:又称动作回调函数 四大类假动作: c ...

  4. startDiscovery() and startLeScan().

    You have to start a scan for Classic Bluetooth devices with startDiscovery() and a scan for Bluetoot ...

  5. (译)iOS Code Signing: 解惑

    子龙山人 Learning,Sharing,Improving! (译)iOS Code Signing: 解惑 免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切 ...

  6. 设计模式Builder(建造者)模式

    1.出现原因 在软件系统中,有时候会面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成:由于需求的变化,这个复杂的对象的各个部分可能面临着剧烈的变化,但是把他们组合在一起的算法 ...

  7. iOS8中的UIAlertController

    转:      iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controlle ...

  8. Snapchat

    "Mesaging service Snapchat reportedly turned down a $3 billion offer from Facebook?!" Ever ...

  9. javascript小实例,PC网页里的拖拽(转)

    这是现在的效果,可能改了一些,原来的效果是,里面的这张图是可以上下左右拖动的,然后房子上面的显示的楼栋号,也跟着图片一起移动,当时js能力还不行,未能实现项目经理的要求,不过后来项目经理又把这个效果推 ...

  10. vim分屏快捷键使用/增大/减小字体使用

    问题描述: vim分屏快捷键使用 问题解决:         (1)vim 分屏快捷键           (2)vim高度改变          (3)vim中增加和减少字体大小  使用快捷键Ctr ...