码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Hive中内部表、外部表、分区表、分桶表之间的关系


    文章目录

      • Hive中内部表、外部表、分区表、分桶表之间的关系
        • 1.0🚀内部表
        • 2.0👀外部表
        • 3.0🫥内部表和外部表的差异
        • 3.0🐘分区表
        • 4.0😃分桶表

    Hive中内部表、外部表、分区表、分桶表之间的关系

    1.0🚀内部表

      内部表(Internal table)也称为被Hive拥有和管理的托管表(Managed table)。默认情况下创建的表就是内部表,Hive拥有该表的结构和文件。换句话说,Hive完全管理表(元数据和数据)的生命周期,类似于RDBMS中的表。

      当删除内部表时,它会删除数据以及表的元数据。

    2.0👀外部表

      外部表(External table) 中的数据不是Hive拥有或管理的,只管理表元数据的生命周期。要创建一个外部表,需要使用EXTERNAL语法关键字。

      删除外部表只会删除元数据,而不会删除实际数据。 在Hive外部仍然可以访问实际数据。

      而且外部表更为方便的是可以搭配location语法指定数据的路径。

    3.0🫥内部表和外部表的差异

    image-20221106152234200

      当需要通过Hive完全管理控制表的整个生命周期时,请使用内部表。

      当文件已经存在或位于远程位置时,请使用外部表,因为即使删除表,文件也会被保留。

    3.0🐘分区表

      当Hive表对应的数据量大、文件多时,为了避免查询时全表扫描数据,Hive支持根据用户指定的字段进行分区,分区的字段可以是日期、地域、种类等具有标识意义的字段。比如把一整年的数据根据月份划分12个月(12个分区),后续就可以查询指定月份分区的数据,尽可能避免了全表扫描查询。

    image-20221106152504293

    4.0😃分桶表

    🚗分桶表也叫做桶表,叫法源自建表语法中bucket单词,是一种用于优化查询而设计的表类型。

    🚓分桶表对应的数据文件在底层会被分解为若干个部分,通俗来说就是被拆分成若干个独立的小文件。

    🛺在分桶时,要指定根据哪个字段将数据分为几桶(几个部分)。

    image-20221106152850198

    🎆和非分桶表相比,分桶表的使用好处有以下几点:

    1、 基于分桶字段查询时,减少全表扫描

    2、 JOIN时可以提高MR程序效率,减少笛卡尔积数量

      对于JOIN操作两个表有一个相同的列,如果对这两个表都进行了分桶操作。那么将保存相同列值的桶进行JOIN操作就可以,可以大大较少JOIN的数据量。

    3、 分桶表数据进行抽样

      当数据量特别大时,对全体数据进行处理存在困难时,抽样就显得尤其重要了。抽样可以从被抽取的数据中估计和推断出整体的特性,是科学实验、质量检验、社会调查普遍采用的一种经济有效的工作和研究方法。

  • 相关阅读:
    webpack loader原理
    OceanBase 分布式数据库【信创/国产化】- OceanBase V4.3 更新了什么 What‘s New
    C#(asp.net)电商后台管理系统-计算机毕业设计源码70015
    ROS2系列知识(4): 理解【服务】的概念
    java-net-php-python-springboot区校企大型仪器智慧共享平台计算机毕业设计程序
    远程登录sshd服务
    【I/O流】从零开始学会字节流与字符流
    从零实现深度学习框架——LSTM从理论到实战【理论】
    【string题解 C++】翻转字符串II:区间部分翻转 | 验证回文串
    Java基础巩固-牛客篇
  • 原文地址:https://blog.csdn.net/m0_58022371/article/details/127716436
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号