一、外部表

1、hive中表的类型

管理表

托管表(外部表)

#内部表
>内部表也称之为MANAGED_TABLE;
>默认存储在/user/hive/warehouse下,也可以通过location指定;
>删除表时,会删除表数据以及元数据;外部表
>外部表称之为EXTERNAL_TABLE;
>在创建表时可以自己指定目录位置(LOCATION);
>删除表时,只会删除元数据不会删除表数据;

Managed Table这种表也被称作Internal Table.这是Hive中的默认的类型.如果你在创建表的时候没有指明Managed或者External,
那么默认就会给你创建Managed Table.
Managed Table的数据,会存放在HDFS中的特定的位置中,通常
是/user/hduser/hive/warehouse.当然,也不一定,看你的Hive的配置文件中是如何配置的.External Table
External Table特别适用于想要在Hive之外使用表的数据的情况,比如多个部门想使用一个表的数据;

查看表的类型:

hive (default)> desc formatted dept ;    #查看其中的 Table Type字段

2、创建一个外部表

hive (default)> create EXTERNAL table IF NOT EXISTS default.emp_ext(> empno int,> ename string,> job string,> mgr int,> hiredate string,> sal double,> comm double,> deptno int> )> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
OK
Time taken: 0.032 seconds

二、例子

1、创建一个外部表

hive (default)> create EXTERNAL table IF NOT EXISTS default.emp_ext2(> empno int,> ename string,> job string,> mgr int,> hiredate string,> sal double,> comm double,> deptno int> )> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'> location '/user/root/hive/warehouse/emp_ext2';
OK
Time taken: 0.036 seconds

2、copy数据

表结构定义好,数据直接放到表的目录下面就可以;

#直接put到HDFS里面
hive (default)> dfs -put /opt/datas/emp.txt /user/root/hive/warehouse/emp_ext2;hive (default)> dfs -ls -R /user/root/hive/warehouse/emp_ext2;
-rw-r--r--   1 root supergroup        659 2019-04-22 16:33 /user/root/hive/warehouse/emp_ext2/emp.txt#查询
hive (default)> select * from default.emp_ext2;
OK
emp_ext2.empno    emp_ext2.ename    emp_ext2.job    emp_ext2.mgr    emp_ext2.hiredate    emp_ext2.sal    emp_ext2.comm    emp_ext2.deptno
7369    SMITH    CLERK    7902    1980-12-17    800.0    NULL    20
7499    ALLEN    SALESMAN    7698    1981-2-20    1600.0    300.0    30
7521    WARD    SALESMAN    7698    1981-2-22    1250.0    500.0    30
7566    JONES    MANAGER    7839    1981-4-2    2975.0    NULL    20
7654    MARTIN    SALESMAN    7698    1981-9-28    1250.0    1400.0    30
7698    BLAKE    MANAGER    7839    1981-5-1    2850.0    NULL    30
7782    CLARK    MANAGER    7839    1981-6-9    2450.0    NULL    10
7788    SCOTT    ANALYST    7566    1987-4-19    3000.0    NULL    20
7839    KING    PRESIDENT    NULL    1981-11-17    5000.0    NULL    10
7844    TURNER    SALESMAN    7698    1981-9-8    1500.0    0.0    30
7876    ADAMS    CLERK    7788    1987-5-23    1100.0    NULL    20
7900    JAMES    CLERK    7698    1981-12-3    950.0    NULL    30
7902    FORD    ANALYST    7566    1981-12-3    3000.0    NULL    20
7934    MILLER    CLERK    7782    1982-1-23    1300.0    NULL    10
Time taken: 0.029 seconds, Fetched: 14 row(s)

转载于:https://www.cnblogs.com/weiyiming007/p/10751108.html

2.5 Hive中外部表的讲解相关推荐

  1. Hive中外部表的alter与drop操作的最低权限要求

    Hive中外部表的alter与drop操作的最低权限要求: 操作类型 目录权限 数据权限 alter(如修改location) Read .write 0 Drop Read 0 Select Rea ...

  2. hive中内部表和外部表有什么区别?一般什么时候使用内部表什么时候使用外部表?

    hive中内部表和外部表有什么区别? 在使用hive搭建数据仓库的时候,可以建立两种表格.一种是内部表(managed table),一种是外部表(external table). 内部表建表是不加修 ...

  3. HIVE中的表以及语法

    2019独角兽企业重金招聘Python工程师标准>>> HIVE中的表以及语法 一.HIVE的表 HIVE使用的功能性的表格分为四种:内部表.外部表.分区表.分桶表. 1.内部表.外 ...

  4. 查看hive中某个表中的数据、表结构及所在路径

    查看hive中action_data_myisam表中的数据.表结构及所在路径 1.客户端进入hive环境:hive 2.查看表数据,鉴于数据量大,这里只显示前五条:select * from act ...

  5. Hive创建外部表详细步骤

    Hive创建外部表详细步骤 一.创建外部表 二.hdfs建立文件夹存放数据 三.准备数据 四.上传数据到HDFS目录 五.Hive表关联文件得到数据 六.查询数据 一.创建外部表 create ext ...

  6. hive:统计hive中所有表的大小和创建时间

    目的:获取hive中所有表的创建时间和表大小 本文给出了一个既可以统计hive中非分区表也可以统计分区表的表大小的方式. 由于业务上没有针对分区数据统计的需求,所以可以使用此种方式统计. 如果业务需要 ...

  7. 使用Flink实现kafka流关联hive中维表

    本文可以用于flink相关内容的入门练习对照.欢迎各路高手批评指导! flink版本:1.10.1 kafka版本:0.10.0 hive版本:1.2.1 依赖: <dependency> ...

  8. hive删除hbase数据_Hive进阶:Hive通过外部表操作Hbase数据

    概述: HBase: 查询效率比较高,常为实时业务提供服务,但是其查询方式比较单一,只能通过row方式get单条数据,或者通过scan加过滤器的方式扫描数据表获取数据. Hive: hive用来存储结 ...

  9. 【原创】大叔经验分享(25)hive通过外部表读写hbase数据

    在hive中创建外部表: CREATE EXTERNAL TABLE hive_hbase_table( key string, name string, desc string ) STORED B ...

最新文章

  1. Silverlight Curve Animation / 曲线动画
  2. 11.20 java 方法
  3. Linux维护笔记四
  4. SQL中常用的的时间跟日期函数
  5. const、extern、static的使用不再神秘
  6. windows 下eclipse 连HBASE
  7. 交流信号叠加直流偏置_T型偏置器与隔直器,二者应用之对比
  8. 软考论文写作攻略,让你轻松拿高分!
  9. ROS创建工作空间和source的解释
  10. 1.1.2 python基本数据类型与运算符
  11. 一文看懂人工智能芯片的产业生态及竞争格局
  12. 计算机树的逻辑结构,树结构(示例代码)
  13. mac 修改文件权限为777可读可写可执行
  14. 下载陷阱:软件带着病毒来
  15. Rime常用配置||输入默认英文
  16. 论文研读1——对抗样本(Adversarial Example)综述(2018版)
  17. 苹果开发者:如何将准备好的应用上传到iTunes Connect
  18. 红太狼和灰太狼的囧人爱情
  19. 个人账本软件---界面设计
  20. 小白学 Python(23):Excel 基础操作(上)

热门文章

  1. 录入学员的身份证后控件焦点转移时根据身份证号码获得生日和性别
  2. 配置docker静态IP地址
  3. springboot 默认异常处理
  4. 紫书 习题 10-20 UVa 1648 (推公式)
  5. 谁是颠覆者?最全盘点25条区块链主链
  6. redis队列缓存 + mysql 批量入库 + php离线整合
  7. Android中RelativeLayout各个属性的含义
  8. Oracle Study之--Oracle 11g RAC设置归档路径错误案例
  9. Linux中命令添加路由
  10. 建立最简单的repo服务器实例讲解