码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • hive 内部表、外部表、使用场景举例、内部表与外部表转换


    文章目录

      • 1. 内部表
        • 1.1 概念
        • 1.2 实操
      • 2. 外部表
        • 2.1 概念
        • 2.2 实操
      • 3. 使用场景举例
      • 4. 内部表与外部表转换
        • 4.1 修改外部表为内部表
        • 4.2 修改内部表为外部表


    1. 内部表

    1.1 概念

      默认创建的表都是管理表(MANAGED_TABLE ),即内部表;
      Hive控制内部表数据的生命周期:默认情况下会将内部表的数据存储在由配置项hive.metastore.warehouse.dir所定义的目录的子目录下。 当删除一个内部表时,Hive同时会删除表中的数据;
      内部表不适合与其他工具共享数据。

    1.2 实操

    在这里插入图片描述
    查询表的类型

    desc formatted 表名;
    
    • 1

    在这里插入图片描述


    2. 外部表

    2.1 概念

      EXTERNAL关键字可以让用户创建一个外部表,在建表的同时可指定一个指向实际数据的路径(LOCATION)(内部表和外部表建表均可指定);
      在删除表的时候,Hive认为其并非完全拥有外部表的数据的所有权。删除外部表仅删除描述表的元数据信息,数据会被保留。

    2.2 实操

      (1)准备一份emp.txt文件上传到hdfs

    7369	SMITH	CLERK	7902	1980-12-17	800.00		20
    7499	ALLEN	SALESMAN	7698	1981-2-20	1600.00	300.00	30
    7521	WARD	SALESMAN	7698	1981-2-22	1250.00	500.00	30
    7566	JONES	MANAGER	7839	1981-4-2	2975.00		20
    7654	MARTIN	SALESMAN	7698	1981-9-28	1250.00	1400.00	30
    7698	BLAKE	MANAGER	7839	1981-5-1	2850.00		30
    7782	CLARK	MANAGER	7839	1981-6-9	2450.00		10
    7788	SCOTT	ANALYST	7566	1987-4-19	3000.00		20
    7839	KING	PRESIDENT		1981-11-17	5000.00		10
    7844	TURNER	SALESMAN	7698	1981-9-8	1500.00	0.00	30
    7876	ADAMS	CLERK	7788	1987-5-23	1100.00		20
    7900	JAMES	CLERK	7698	1981-12-3	950.00		30
    7902	FORD	ANALYST	7566	1981-12-3	3000.00		20
    7934	MILLER	CLERK	7782	1982-1-23	1300.00		10
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    hdfs dfs -copyFromLocal ./emp.txt /wcinput/
    
    • 1

    在这里插入图片描述
      (2)在hive上创建外部表,并指定路径

    create external table if not exists emp(
    empno int,
    ename string,
    job string,
    mgr int,
    hiredate string, 
    sal double, 
    comm double,
    deptno int)
    row format delimited fields terminated by '\t'
    location '/wcinput';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述
      (3)查看表类型

    desc formatted emp;
    
    • 1

    在这里插入图片描述
      (4)删除外部表
    元数据被删除:

    在这里插入图片描述
    数据仍然保留:
    在这里插入图片描述


    3. 使用场景举例

      每天日志文件定期流入HDFS文本文件。原始日志表使用外部表,统计分析过程中用到的中间表、结果表使用内部表存储


    4. 内部表与外部表转换

    4.1 修改外部表为内部表

    alter table 表名 set tblproperties('EXTERNAL'='FALSE');
    
    • 1

    4.2 修改内部表为外部表

    alter table 表名 set tblproperties('EXTERNAL'='TRUE');
    
    • 1

  • 相关阅读:
    MySql必知必会学习
    25计算机考研院校数据分析 | 四川大学
    Module Analyser 使用操作说明 第Ⅱ部分
    项目管理的核心:制定明确的项目进度计划
    容器方式安装 nexus3 并作为yum私服
    JAVAEE之网络原理(2)_传输控制协议(TCP)、概念、格式、确认应答及超时重传机制
    浅谈浮动flex
    B40 - 基于STM32单片机的电热蚊香蓝牙控制系统
    (续)SSM整合之spring笔记(JdbcTemplate)(P107-109)
    全景房屋装修vr可视化编辑软件功能及特点
  • 原文地址:https://blog.csdn.net/javahelpyou/article/details/125530807
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号