1、hive的数据类型

tinyint/smallint/int/bigint
tinyint:从 0 到 255 的整型数据
smallint:从 0 到 65535 的整型数据
int:从 0 到 4294967296 的整型数据
bigint:所有数字
float/double
boolean
string
date
timestamp

2、基本操作

显示所有库:show databases;
创建库:create database media_pro;
切换到指定库:use media_pro;
查看表结构:desc formatted t_pro_user_list;
创建分区表:
create table OUFEI_CHARGE_ORDERINFO_LOG
(state_date string,
create_date date,
sendtimes int) row format delimited fields terminated by '\t';

3、进阶操作

  ①、分区表

create table OUFEI_CHARGE_ORDERINFO_LOG
(state_date string,
create_date datestamp,
sendtimes int)
partitioned by (logdate string) row format delimited fields terminated by '\t';

  这种正常的表存放的目录就是你当前库目录的下级路径:

  

  上图中的标志的分别是:分区字段、表所在库、表所在路径、表类型

  ②、外部表

 create external table t_detail
(state_date string,
create_date datestamp,
sendtimes int)
partitioned by (logdate string)row format delimited fields terminated by '\t' location '/hive_exterdir/';
 //如果不加location的话,其实就是个内部表

  

  上图的标红的分别是:分区字段、指定数据文件路径(后面将要导入的数据放进来就行load一下就行)、表的类型

  外部表名在hdfs上是看不见的

  ③、导数load in datapath

  内部表导入:

    load data inpath  '/userdata/order.txt' into table oufei_charge_orderinfo_log partition (logdate='2017-06-16');

    这里表示将userdata文件夹下的order.txt文件导入表中,并以'2017-06-16'作为分区字段的值;这里如果userdata下没有文件夹的话,可以把后面的文件名省略;

   外部表导入:

    load data inpath  '/hive_exterdir/detail.txt' into table t_detail partition (logdate='2017-06-16');

     导入成功后,你会发现之前的detail.txt文件会被移动到分区目录下

    

   ④、总结:内部表和外部表的区别:

    

1、在导入数据到外部表,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据并不是由它自己来管理的!内部表则不一样;
2、在删除表的时候,Hive将会把属于表的元数据和数据全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据是不会删除的!
那么,应该如何选择使用哪种表呢?在大多数情况没有太多的区别,因此选择只是个人喜好的问题。但是作为一个经验,如果所有处理都需要由Hive完成,那么你应该创建内部表,否则使用外部表!

  

     

    

hive的常用操作的更多相关文章

  1. Hive Shell常用操作

    1.Hive非交互模式常用命令: 1) hive -e:从命令行执行指定的HQL,不需要分号: % hive -e 'select * from dummy' > a.txt 2) hive – ...

  2. Hive基础之Hive表常用操作

    本案例使用的数据均来源于Oracle自带的emp和dept表 创建表 语法: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name ...

  3. HIVE的常用操作(HQL)语句

    HIVE基本操作命令 创建数据库 >create database db_name; >create database if not exists db_name;//创建一个不存在的数据 ...

  4. hive sql常用整理-hive引擎设置

    遇到个情况,跑hive级联insert数据报错,可以尝试换个hive计算引擎 hive遇到FAILED: Execution Error, return code 2 from org.apache. ...

  5. 如何监听对 HIVE 元数据的操作

    目录 简介 HIVE 基本操作 获取 HIVE 源码 编译 HIVE 源码 启动 HIVE 停止 HIVE 监听对 HIVE 元数据的操作 参考文档 简介 公司有个元数据管理平台,会定期同步 HIVE ...

  6. hive & hive beeline常用参数

    Hive 1参数如下: usage: hive -d,--define <key=value> Variable substitution to apply to Hive command ...

  7. Hive配置与操作实践

    Hive配置与操作实践 @(Hadoop) 安装hive hive的安装十分简单,只需要在一台服务器上部署即可. 上传hive安装包,解压缩,将其配入环境变量. mysql的设置 在要作为元数据库的m ...

  8. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  9. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

随机推荐

  1. mysql数据库简单入门

    1.xampp  跨平台 优点:兼容性高 2. apache(服务器) 著名的集成环境(也叫集成安装包) 功能:一般在网站上运行,优点:稳定 缺点:性能上有瓶颈 nginx 优点:快 3. mysql ...

  2. win7共享打印机如何设置,xp系统如何连接共享打印机。

    一.xp如何连接win7共享打印机——连接win7共享打印机出现“禁用当前的账户”怎么办   保证xp和win7在同一局域网内.然后在xp电脑中打开[运行],输入win7电脑的ip地址.比如,我的办公 ...

  3. 学习笔记TF033:实现ResNet

    ResNet(Residual Neural Network),微软研究院 Kaiming He等4名华人提出.通过Residual Unit训练152层深神经网络,ILSVRC 2015比赛冠军,3 ...

  4. python __name__ 和__main__的使用领悟

    __name__和__main__的使用 #hello.pydef sayHello(): str="hello" print(str); if __name__ == " ...

  5. ios-上传图片到后台

    做第一个项目时,有个版块的个人信息的编辑涉及到头像修改,老大说项目里有通用的代码,让我自己去找.总算找到,搞了许久才弄好,看来理解能力还需要提高啊!! #pragma mark- 修改头像上传后保存 ...

  6. 全志A33 lichee 开发板 Linux中断编程原理说明

    开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 本节实验目标实现按键触发中断 ...

  7. Docker的网络类型和固定IP设置

    Docker的网络机制 Docker的网络有三种类型(driver): bridge, host 和 null. birdge: 就如同桥接的switch/hub, 使用bridge网络的contai ...

  8. UltraISO 9.7.1.3519注册码

    王涛 7C81-1689-4046-626F redcaps 82C6-3DEF-AB07-0EC0

  9. python学习路程1

    常用的转义字符还有: \n 表示换行 \t 表示一个制表符 \\ 表示 \ 字符本身 任务 请将下面两行内容用Python的字符串表示并打印出来: Python was started in 1989 ...

  10. Linux环境安装PostgreSQL-10.1

    转载自:https://www.cnblogs.com/LinBug/p/8082790.html Linux环境安装PostgreSQL-10.1   环境及资源 Linux版本:CentOS re ...