(1)一段 建表语句:

[ROW FORMAT row_format] 
[STORED AS file_format]
| STORED BY 'storage.handler.class.name'
[WITH SERDEPROPERTIES (...)] -- (Note: Available in Hive 0.6.0 and later) ] row_format :
:DELIMITED
[FIELDS TERMINATED BY char [ESCAPED BY char]]
[COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char]
[LINES TERMINATED BY char]
[NULL DEFINED AS char] -- (Note: Available in Hive 0.13 and later)
  | SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)] file_format:
: SEQUENCEFILE
| TEXTFILE -- (Default, depending on hive.default.fileformat configuration)
| RCFILE -- (Note: Available in Hive 0.6.0 and later)
| ORC -- (Note: Available in Hive 0.11.0 and later)
| PARQUET -- (Note: Available in Hive 0.13.0 and later)
| AVRO -- (Note: Available in Hive 0.14.0 and later)
| INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname

(2)根据建表语句逐层展开:hive的存储形式,引申思考下行式存储、列式存储的 在读取时的优劣

hive表数据在存储在文件系统上的,因此需要有文件存储格式来规范化数据的存储,一边hive写数据或者读数据。hive有一些已构建好的存储格式,也支持用户自定义文件存储格式。主要由两部分内容构成file_format和row_format,两者息息相关。

(3)文件格式:TEXTFILE,SEQUENCEFILE,RCFILE  及 自定义输入格式DuallnputFormat

(4)记录格式:SerDe

(5)CSV和TSV SerDe

SerDe is a short name for "Serializer and Deserializer."
Hive uses SerDe (and FileFormat) to read and write table rows.
HDFS files --> InputFileFormat --> <key, value> --> Deserializer --> Row object
Row object --> Serializer --> <key, value> --> OutputFileFormat --> HDFS files

load数据时 根据表的文件格式及分割方式 直接写入存储,读时校验数据

hive的读时模式 与 传统关系型数据库写入模式的差异

自定义hive文件和记录格式及文本文件数据编码的更多相关文章

  1. Hive文件与记录格式

    1. Hive文件与记录格式 Create table 有多种用法,例如STORED AS SEQUENCEFILE, ROW FORMAT DELIMITED, SERDE, INPUTFORMAT ...

  2. Hive数据类型及文本文件数据编码

    本文参考Apache官网,更多内容请参考:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types 1. 数值型 类型 ...

  3. Hive文件存储格式

    hive文件存储格式 1.textfile textfile为默认格式   存储方式:行存储   磁盘开销大 数据解析开销大   压缩的text文件 hive无法进行合并和拆分 2.sequencef ...

  4. Hive文件的存储格式

    hive文件存储格式包括以下几类: TEXTFILE SEQUENCEFILE RCFILE 自定义格式 其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到h ...

  5. Bower 自定义组件文件夹名称

    默认情况下, bower 会自动把文件安装在文件夹 bower_components 下面,如果希望自定义这个文件夹的名称为 components ,可以创建一个名称为 ".bowerrc& ...

  6. VS 自定义新建文件模板方法

    自定义新建文件模板方法     VS 2010 及VS2008 自定义模板的方法如下: 结合VS工具,其下的插件也层出不穷.今天重点给大家介绍如何使用VS2010自定义新建文件模版,新建文件时,添加个 ...

  7. CI框架中自定义view文件夹位置

    要想自定义view文件夹的位置,首先要了解CI框架时如何加载view文件夹的. CI中默认调用view的方法是: $this->load->view(); //这一行代码的原理是什么呢?请 ...

  8. PHPCMS V9二次开发便捷自定义后台入口文件夹

    phpcms v9二次开发便捷自定义后台入口文件夹 最新发布的phpcms v9由于采用了mvc的设计模式,所以它的后台访问地址是固定的,虽然可以通过修改路由配置文件来实现修改,但每次都修改路由配置文 ...

  9. .NET MVC4 实训记录之五(访问自定义资源文件)

    .Net平台下工作好几年了,资源文件么,大多数使用的是.resx文件.它是个好东西,很容易上手,工作效率高,性能稳定.使用.resx文件,会在编译期动态生成已文件名命名的静态类,因此它的访问速度当然是 ...

随机推荐

  1. Lucence使用入门

    参考: https://blog.csdn.net/u014209975/article/details/50525624 https://www.cnblogs.com/hanyinglong/p/ ...

  2. java并发锁ReentrantReadWriteLock读写锁源码分析

    1.ReentrantReadWriterLock 基础 所谓读写锁,是对访问资源共享锁和排斥锁,一般的重入性语义为如果对资源加了写锁,其他线程无法再获得写锁与读锁,但是持有写锁的线程,可以对资源加读 ...

  3. python面试题之docstring是什么?

    Docstring是一种文档字符串,用于解释构造的作用.我们在函数.类或方法中将它放在首位来描述其作用.我们用三个单引号或双引号来声明docstring. >>> def sayhi ...

  4. Inversion of Control 控制反转 有什么好处

    作者:Mingqi链接:https://www.zhihu.com/question/23277575/answer/169698662来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  5. JDBC getConnection细节

    https://blog.csdn.net/luanlouis/article/details/29850811 概述             一般情况下,在应用程序中进行数据库连接,调用JDBC接口 ...

  6. Python常用三方库安装

    //首先更新pip python -m pip install --upgrade pip //一个类似Matlab的Plot绘制数据图的库. python -m pip install matplo ...

  7. SpringBoot集成Swagger(Swagger的使用),生成接口文档,方便前后端分离开发

    首先上一张成果图.  1.Maven依赖 <dependency> <groupId>io.springfox</groupId> <artifactId&g ...

  8. delphi TTcpClient TTcpServer分析(转)

    delphi TTcpClient TTcpServer分析(转) 只描述windows socket部分. sockets.pas中各个类得继承关系: TBaseSocket | --------- ...

  9. Hello cnblog!

    博主是从csdn搬过来的,原博客地址: https://blog.csdn.net/Cold_Chair 里面有一些不错的游记和知识点讲解,由于不方便搬过来,所以有兴趣的同学可以去看看(* ̄︶ ̄)

  10. linux IPC 消息队列

    消息队列函数原型 在建立IPC通讯时(如消息队列,共享内存)必须建立一个ID值.通常情况下,这个ID值由ftok函数得到 #inlcude <sys/types.h> #include & ...