Hive内部表和外部表

news2024/11/18 19:37:09

v2-4b22527985384cedba02ae95e6d244cc_250x0

表类型详解

表分类

在Hive中,表类型主要分为两种

第一种:内部表

  • 也叫管理表
  • 表目录会创建在集群上的{hive.metastore.warehouse.dir}下的相应的库对应的目录中。
  • 默认创建的表就是内部表

第二种:外部表

  • 外部表需要使用关键字"external",
  • 外部表会根据创建表时LOCATION指定的路径来创建目录,
  • 如果没有指定LOCATION,则位置跟内部表相同,一般使用的是第三方提供的或者公用的数据。
  • 建表语法:必须指定关键字external。
    create external table tableName(id int,name string) [location 'path'];
-- 语法:
create external table 表名(
    列名 列的数据类型,
    ....
    列名 列的数据类型
)comment '表的描述信息(可以选型添加)'
row format delimited fields terminated by '文件数据一行的内容是以什么方式分隔的'
row format delimited lines terminated by '文件数据中每一行的分隔符什么' 
[location 'path路径']
stored as textfile -- 提供映射数据文件的文件格式【默认是文本文件可以不写】


create external table u7(
   id int,
   name string
 )row format delimited fields terminated by ','
 location '/publicData';

内部表和外部表转换

内部表转外部表

-- 语法:
  alter table 内部表名 set tblproperties('EXTERNAL'='TRUE');
-- 注意: 内部表转换为外部表时,提供true必须大写  

外部表转内部表

-- 语法:
  alter table 外部表名 set tblproperties('EXTERNAL'='false');
-- 注意: 外部表转内部表的时候,false不需要大写(不区分大小写)  

两者之间区别

1) 内部表和外部表在创建时的差别

就差两个关键字,EXTERNAL 和 LOCATION
举例:

- 内部表 -- CRAATE TABLE T_INNER(ID INT);
- 外部表 -- CREATE EXTERNAL TABLE T_OUTER(ID  INT) LOCATION 'HDFS:///AA/BB/XX';

2) Hive表创建时要做的两件事

  1. 在hdfs下创建表目录

  2. 在元数据库mysql创建相应表的描述数据(元数据)

3) drop时有不同的特性
1、drop时,元数据都会被清除
2、drop时,内部表的表目录会被删除,但是外部表的表目录不会被删除。

4) 使用场景

内部表: 平时用来测试或者少量数据,并且自己可以随时修改删除数据.

外部表:使用后数据不想被删除的情况使用外部表(推荐使用)所以,整个数据仓库的最底层的表使用外部表

【千锋教育】大数据开发全套教程,史上最全面的大数据学习视频

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/791476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

勘探开发人工智能应用:地震层位解释

1 地震层位解释 层位解释是地震构造解释的重要内容,是根据目标层位的地震反射特征如振幅、相位、形态、连续性、特征组合等信息在地震数据体上进行追踪解释获得地震层位数据的方法。 1.1 地震信号、层位与断层 图1.1 所示为地震信号采集的过程,地面炮…

Sip网络音频对讲广播模块, sip网络寻呼话筒音频模块

Sip网络音频对讲广播模块, sip网络寻呼话筒音频模块 一、模块介绍 SV-2101VP和 SV-2103VP网络音频对讲广播模块 是一款通用的独立SIP音频功能模块,可以轻松地嵌入到OEM产品中。该模块对来自网络的SIP协议及RTP音频流进行编解码。 该模块支持多种网络协议…

ks webdid 滑块注册

web和app其实都一样,主要是针对于设备进行风控,web设备叫webdid; webdid注册出来,过了ks滑块激活,测试了主页,评论等接口都可以跑,平均也就2s注册一个,如果开并发那就更快了; 不过一…

React Native 0.72 版本,带来诸多更新

经过漫长的等待,React Native 终于迎来了0.72 版本,此处版本带来了Metro重要的功能更新、性能优化、开发人员体验的改进以及其他一些重要的变化。我们可以从下面的链接中获取此次版本更新的内容:0.72更新内容 一、Metro 新功能 众所周知,Metro 是 React Native 默认的 Jav…

图像处理之hough圆形检测

hough检测原理 点击图像处理之Hough变换检测直线查看 下面直接描述检测圆形的方法 基于Hough变换的圆形检测方法 对于一个半径为 r r r,圆心为 ( a , b ) (a,b) (a,b)的圆,我们将…

模拟量采集S_ITR函数(信捷C语言FC)

模拟量采集和转换函数非常简单,这里不再介绍,想了解具体算法的可以查看下面博客文章: PLC模拟量输入 模拟量转换FC S_ITR_博途模拟量转换程序_RXXW_Dor的博客-CSDN博客模拟量采集、工业现场应用特别广泛、大部分传感器的测量值和输出信号都是线型关系,所以我们可以利用线性…

SpringBoot中定时任务开启多线程避免多任务堵塞

场景 SpringBoot中定时任务与异步定时任务的实现: SpringBoot中定时任务与异步定时任务的实现_霸道流氓气质的博客-CSDN博客 使用SpringBoot原生方式实现定时任务,已经开启多线程支持,以上是方式之一。 除此之外还可通过如下方式。 为什…

对话商汤王晓刚:“百模大战”下半场,如何才能突出重围?

点击关注 文 | 姚悦 今年最早发布的那批大模型,现在怎么样了? 近期,商汤科技宣布“商汤日日新SenseNova”大模型体系完成了第一次重大迭代。这距离其发布过去3个月时间。 “每天不断接到用户调用,收到建议反馈后,每隔…

Java开发基础系列(十二):集合对象(List接口)

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: Java开发基础系列(十二):集合对象(List接口) ⏱️ 创作时间…

【技术】国标GB视频平台设备接入EasyCVR后,如何获取RTMP与RTSP视频流

安防视频监控平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,比…

esp32_arduino的开发库安装笔记

1.1 Arduino软件下载与安装 Arduino官网下载地址:https://www.arduino.cc/en/software。 1.2在线安装 选择文件 - 首选项。 在附加开发板管理器网址中添加以下链接中的一个。 (1)Stable release link: https://raw.githubusercontent.com/espressif/arduino-es…

2023第二届中国绿色钢铁国际大会 演讲嘉宾更新

2023第二届中国绿色钢铁国际峰会将于9月21日-22日在上海举办,本次会议线上线下同步举行。 峰会将从钢铁行业上中下游全产业链视角出发,聚焦能源及原料结构创新,传统高炉技术路线低碳化创新,氢能冶金、二氧化碳捕集、利用或储存技…

借降本增效之名,探索开闭原则架构设计

引语 在我们的研发生产活动中,经常会遇到如下类似的疑惑: 业务和技术在公司组织活动中,究竟应该各扮演什么样的角色? 技术的目的是什么? 研发生产活动中,如何提高生产事故发生的下限? 如何充…

el-table表格自动滚动

实现效果如下: 功能点: 1. 当表格内容超出时,自动滚动,滚动到最后一条之后在从头滚动。 2. 表格中的数据会定时刷新,刷新后数据更新。 3. 鼠标移入表格中,停止滚动;移出后,继续滚…

微信小程序数字键盘(仿微信转账键盘)

微信小程序input自带数字输入键盘,不过是直接调用的系统键盘,无法个性化。 代码中使用使用了Vant WeappVant UI小程序版,这里就不介绍相关安装说明了,大家自行安装Vant Weapp。 json 用到的组件 {"usingComponents": …

第三章:Seed,Expand and Constrain:——种子、扩展和约束:弱监督图像分割的三个原则

0.摘要 我们引入了一种新的损失函数,用于基于三个指导原则进行弱监督训练的语义图像分割模型:使用弱定位线索进行种子标记,根据图像中可能出现的类别信息扩展对象,将分割结果约束在物体边界上。我们通过实验证明,使用所…

【C++模板进阶】

目录 一、模板使用时的一个小注意点二、非类型模板参数三、类模板的特化3.1函数模板的特化3.2类模板的特化3.2.1全特化3.2.2偏特化 四、模板的分离编译4.1模板不支持分离编译4.2模板分离编译报错的分析4.2解决方案 五、模板的总结 一、模板使用时的一个小注意点 在使用模板时&…

创建Electron项目

一、使用vite 构建 electron项目 npm init vitelatest Need to install the following packages:create-vitelatest Ok to proceed? (y) y √ Project name: ... CertificateDownload √ Package name: ... certificatedownload √ Select a framework: Vue √ Select a var…

java正则表达式「.*?」匹配什么

先说结论:以非贪婪的方式匹配正则表达式".*" 举例子: String s "abdcababc"; String regx1 "ab(.*)c"; String regx2 "ab(.*?)c"; Pattern pattern1 Pattern.compile(regx1); Pattern pattern2 Pattern…

分组排序及首单时间计算

import pandas as pd import numpy as np downpath/Users/kangyongqing/Downloads/ downfile20230725_105033.csvddpd.read_csv(downpathdownfile) dd.rename(columns{student_user_id:学生id},inplaceTrue) result[] for i in range(dd.shape[0]):user,feetimedd.loc[i,[学生…