Hive读时模式和写时模式的区别是什么?
前言
本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系
正文
模式( schema )指的是数据库的表结构,即数据表中包含的列以及相应的数据类型。
在传统数据库中,数据在导入表的时候就会验证模式,只有在模式符合时才能成功导入。
这种在数据写入时验证模式的方式称为写时模式( schema on write )。
Hive 采取的是另一种方式,即在数据导入时并不验证模式,而只在査询时才验证,称为读时模式( schema on read )这两种方式各有利弊。
读时模式
读时模式在数据导入时,不需要将输入数据进行读取、解析以及序列化成数据库的内部存储格式。
整个数据导入过程只是将数据文件复制或移动到指定位置。
同时,读时模式也更灵活,对于同一个数据文件,可以施加多种不同的模式,用于不同的分析任务。
Hive 中的外部表即支持这一特性。
写时模式
而写时模式的数据查询效率较高,因为数据库可以在一些列上做索引,并在数据存储格式上做优化。
然而,写时模式的缺点是数据导入的时间较长。
Hive读时模式和写时模式的区别是什么?相关推荐
- 写时复制,写时拷贝,写时分裂,Copy on write
2019独角兽企业重金招聘Python工程师标准>>> 写时复制,写时拷贝,写时分裂 (Copy-on-write,简称COW)是计算机资源管理方面的一种优化技术,有着广泛的应用,比 ...
- linux 进程0 写时复制,linux 写时复制 COW 过程梳理
最后一次谈到缺页,是在一年多以前,http://blog..net/chenyu105/article/details/7061845 那时结个了草率的尾,定格在了handle_pte_fault,留 ...
- String封装——读时共享,写时复制
碰到过一位一直怀疑C++标准库(STL)效率的人,他说STL效率太低,企业开发根本不会用.我是持反对意见的. 说这话的人,肯定没有做过大量的调查.没有调查就没有发言权. STL的效率是不低的,足够满足 ...
- 进程共享(读时共享写时复制)
父子进程之间在刚fork后.父子相同处: 全局变量..data..bbs..text.栈.堆.环境变量.用户ID.宿主目录(进程用户家目录).进程工作目录.信号处理方式等等,即0~3G的用户空间是完全 ...
- 实战并发编程 - 05等效不可变对象CopyOnWriteArrayList适用场景剖析_写时复制COW
文章目录 Pre 等效不可变对象 实例变量array就是一个等效不可变对象? 写时复制机制 写时复制的目的 优点 缺点 CopyOnWriteArrayList的使用场景 小结 Pre 本篇文章我们分 ...
- php zval_copy_static_var(),zval _ 引用计数 _ 变量分离 _ 写时拷贝
zval.引用计数.变量分离.写时拷贝 我们一步步来理解 1.php语言特性 PHP是脚本语言,所谓脚本语言,就是说PHP并不是独立运行的,要运行PHP代码需要PHP解析器,用户编写的PHP代码最终都 ...
- Linux fork()函数底层CopyOnWrite写时复制实现原理剖析
创建子进程的速度应该是怎么样的? 如果父进程是redis,内存数据比如说有10G,需要考虑的有两个点: ①速度如何 ②内存空间够不够 在Linux中有个系统调用--fork(): ①速度:快 ②空间: ...
- 有用的Copy-On-write,写时复制
写时复制和写时拷贝是一个意思 写时复制是一种策略,并不是Linux独有的,如果你正在设计某个系统架构,也可以参考这种思想. 写时复制的英文解释如下 Copy-on-write (sometimes r ...
- QTL 容器 与 STL(1)- 写时复制
QTL 与 STL 最大的区别之一 隐式共享,引用计数,写时复制 [注]STL 的 string 也具有 写时复制 技术 写时复制 (Copy-On-Write)技术,就是编程界"懒惰行为& ...
- 写时拷贝技术(COW)
文章目录 写时拷贝技术 写时拷贝技术原理 举个例子 写时拷贝技术 写时拷贝技术实际上是一种拖延战术,是为了提高效率而产生的技术,这怎么提高效率呢?实际上就是在需要开辟空间时,假装开了空间,实际上用 ...
最新文章
- 我熬了几个大夜,学完一套 海外博士 总结的「卷积神经网络、目标检测、OpenCV」笔记!...
- Microbiome:重新定义“卫生”的概念
- php javabean对象,Struts2 bean标签:创建并示例化一个JavaBean对象
- 自学python如何找工作-新手小白如何自学Python出去找工作?我用这五本书告诉你...
- Dijkstra的理解和实现
- CF1556F-Sports Betting【状压dp,数学期望】
- 64 位 win7(2008 r2) 使用PLSQL Developer x86 32bit的解决方法
- android自定义控件 jar,Android Studio引用自定义的framework.jar包
- 让django完成翻译,迁移数据库模型
- tpac100控制器设置教程_AC100基站控制器配置说明
- 摩托梁念坚出任微软大中华区董事长兼CEO
- mysql怎么设计抽奖表_Access设计抽奖系统
- 图解刘谦如何手穿玻璃桌(详细图文说明)
- (按色谱固定相基质分)液相色谱柱的分类
- 蓝蓝算法10-数字颠倒
- 干货分享,大型国企项目管理经验分享
- 虚拟机栈、堆、方法区的区别特点
- SSM整合开发学习笔记
- 是骡子是马,拉出来溜溜 ——阿里云HBase在大搜车的试用
- 间述i计算机主要应用领域,电子科技大学17年11月《计算机导论》作业考核试题题目...
热门文章
- 别再问我阿里面试流程了!!!P8 面试官 花了一个月整理了这份 4000 字的 面试流程
- 正态分布之中心极限定理
- Word中有些空行无法删除,我是这样解决的.............
- 老路教你用得上的商学课_系列笔记
- ssget 用法详解
- 计算机教育主编在线审查,大学计算机基础教程-王慧儒主编.pdf
- Android手游辅助开发从入门到精通
- 平行束滤波fbp_CT平行束和扇形束算法的转换.pptx
- 二进制搜索树(BSTs) 和AVL 树
- 如何用示波器测量输出阻抗