前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系

正文

模式( schema )指的是数据库的表结构,即数据表中包含的列以及相应的数据类型。

在传统数据库中,数据在导入表的时候就会验证模式,只有在模式符合时才能成功导入。

这种在数据写入时验证模式的方式称为写时模式( schema on write )。

Hive 采取的是另一种方式,即在数据导入时并不验证模式,而只在査询时才验证,称为读时模式( schema on read )这两种方式各有利弊。

读时模式

读时模式在数据导入时,不需要将输入数据进行读取、解析以及序列化成数据库的内部存储格式。

整个数据导入过程只是将数据文件复制或移动到指定位置。

同时,读时模式也更灵活,对于同一个数据文件,可以施加多种不同的模式,用于不同的分析任务。

Hive 中的外部表即支持这一特性。

写时模式

而写时模式的数据查询效率较高,因为数据库可以在一些列上做索引,并在数据存储格式上做优化。

然而,写时模式的缺点是数据导入的时间较长。

Hive读时模式和写时模式的区别是什么?相关推荐

  1. 写时复制,写时拷贝,写时分裂,Copy on write

    2019独角兽企业重金招聘Python工程师标准>>> 写时复制,写时拷贝,写时分裂 (Copy-on-write,简称COW)是计算机资源管理方面的一种优化技术,有着广泛的应用,比 ...

  2. linux 进程0 写时复制,linux 写时复制 COW 过程梳理

    最后一次谈到缺页,是在一年多以前,http://blog..net/chenyu105/article/details/7061845 那时结个了草率的尾,定格在了handle_pte_fault,留 ...

  3. String封装——读时共享,写时复制

    碰到过一位一直怀疑C++标准库(STL)效率的人,他说STL效率太低,企业开发根本不会用.我是持反对意见的. 说这话的人,肯定没有做过大量的调查.没有调查就没有发言权. STL的效率是不低的,足够满足 ...

  4. 进程共享(读时共享写时复制)

    父子进程之间在刚fork后.父子相同处: 全局变量..data..bbs..text.栈.堆.环境变量.用户ID.宿主目录(进程用户家目录).进程工作目录.信号处理方式等等,即0~3G的用户空间是完全 ...

  5. 实战并发编程 - 05等效不可变对象CopyOnWriteArrayList适用场景剖析_写时复制COW

    文章目录 Pre 等效不可变对象 实例变量array就是一个等效不可变对象? 写时复制机制 写时复制的目的 优点 缺点 CopyOnWriteArrayList的使用场景 小结 Pre 本篇文章我们分 ...

  6. php zval_copy_static_var(),zval _ 引用计数 _ 变量分离 _ 写时拷贝

    zval.引用计数.变量分离.写时拷贝 我们一步步来理解 1.php语言特性 PHP是脚本语言,所谓脚本语言,就是说PHP并不是独立运行的,要运行PHP代码需要PHP解析器,用户编写的PHP代码最终都 ...

  7. Linux fork()函数底层CopyOnWrite写时复制实现原理剖析

    创建子进程的速度应该是怎么样的? 如果父进程是redis,内存数据比如说有10G,需要考虑的有两个点: ①速度如何 ②内存空间够不够 在Linux中有个系统调用--fork(): ①速度:快 ②空间: ...

  8. 有用的Copy-On-write,写时复制

    写时复制和写时拷贝是一个意思 写时复制是一种策略,并不是Linux独有的,如果你正在设计某个系统架构,也可以参考这种思想. 写时复制的英文解释如下 Copy-on-write (sometimes r ...

  9. QTL 容器 与 STL(1)- 写时复制

    QTL 与 STL 最大的区别之一 隐式共享,引用计数,写时复制 [注]STL 的 string 也具有 写时复制 技术 写时复制 (Copy-On-Write)技术,就是编程界"懒惰行为& ...

  10. 写时拷贝技术(COW)

    文章目录 写时拷贝技术 写时拷贝技术原理 举个例子 写时拷贝技术   写时拷贝技术实际上是一种拖延战术,是为了提高效率而产生的技术,这怎么提高效率呢?实际上就是在需要开辟空间时,假装开了空间,实际上用 ...

最新文章

  1. 我熬了几个大夜,学完一套 海外博士 总结的「卷积神经网络、目标检测、OpenCV」笔记!...
  2. Microbiome:重新定义“卫生”的概念
  3. php javabean对象,Struts2 bean标签:创建并示例化一个JavaBean对象
  4. 自学python如何找工作-新手小白如何自学Python出去找工作?我用这五本书告诉你...
  5. Dijkstra的理解和实现
  6. CF1556F-Sports Betting【状压dp,数学期望】
  7. 64 位 win7(2008 r2) 使用PLSQL Developer x86 32bit的解决方法
  8. android自定义控件 jar,Android Studio引用自定义的framework.jar包
  9. 让django完成翻译,迁移数据库模型
  10. tpac100控制器设置教程_AC100基站控制器配置说明
  11. 摩托梁念坚出任微软大中华区董事长兼CEO
  12. mysql怎么设计抽奖表_Access设计抽奖系统
  13. 图解刘谦如何手穿玻璃桌(详细图文说明)
  14. (按色谱固定相基质分)液相色谱柱的分类
  15. 蓝蓝算法10-数字颠倒
  16. 干货分享,大型国企项目管理经验分享
  17. 虚拟机栈、堆、方法区的区别特点
  18. SSM整合开发学习笔记
  19. 是骡子是马,拉出来溜溜 ——阿里云HBase在大搜车的试用
  20. 间述i计算机主要应用领域,电子科技大学17年11月《计算机导论》作业考核试题题目...

热门文章

  1. 别再问我阿里面试流程了!!!P8 面试官 花了一个月整理了这份 4000 字的 面试流程
  2. 正态分布之中心极限定理
  3. Word中有些空行无法删除,我是这样解决的.............
  4. 老路教你用得上的商学课_系列笔记
  5. ssget 用法详解
  6. 计算机教育主编在线审查,大学计算机基础教程-王慧儒主编.pdf
  7. Android手游辅助开发从入门到精通
  8. 平行束滤波fbp_CT平行束和扇形束算法的转换.pptx
  9. 二进制搜索树(BSTs) 和AVL 树
  10. 如何用示波器测量输出阻抗