Hive不同文件的读取对照

stored as textfile

直接查看hdfs

hadoop fs -text

hive> create table test_txt(name string,val string) stored as textfile;

stored as sequencefile

hadoop fs -text

hive> create table test_seq(name string,val string) stored as sequencefile;

stored as rcfile

hive –service rcfilecat path

hive>  create table test_rc(name string,val string) stored as rcfile;

stored as inputformat ‘class’自己定义

outformat ‘class’

基本步骤:

1、编写自己定义类

2、打成jar包

3、加入jar文件,hive> add jar /***/***/***.jar(当前生效)或者复制到hive安装文件夹的lib文件夹下。重新启动client(永久生效)。

4、创建表,指定自己定义的类

Hive使用SerDe

SerDe是”Serializer”和”Deserializer”的简写。

Hive使用SerDe(和FileFormat)来读、写表的行。

读写数据的顺序例如以下:

HDFS文件-->InputFileFormat--><key,value>-->Deserializer-->Row对象

Row对象-->Serializer--><key,value>-->OutputFileFormat-->HDFS文件

Hive自带的序列化与反序列化

当然我们也能够自己实现自己定义的序列化与反序列化

Hive自己定义序列化与反序列化步骤

1、实现接口SerDe或者继承AbstractSerDe抽象类

2、重写里面的方法

Demo:

创建表

drop table apachelog;
create table apachelog(
host string,
identity string,
user string,
time string,
request string,
status string,
size string,
referer string,
agent string
)
row format serde 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
with serdeproperties(
"input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([0-9]*) ([0-9]*) ([^ ]*) ([^ ]*)"
)stored as textfile;

cat serdedata
110.52.250.126 test user - GET 200 1292 refer agent
27.19.74.143 test root - GET 200 680 refer agent

载入数据

load data local inpath '/liguodong/hivedata/serdedata' overwrite into table apachelog;

查看内容

select * from apachelog;
select host from apachelog;

Hive不同文件的读取与序列化的更多相关文章

  1. XML文件的读取、序列化和反序列化操作

    public class XmlHelper { //从xml中获取MsgType public static string XMLSelect(string XML) { XmlDocument x ...

  2. Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

    IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从 ...

  3. spark SQL (四)数据源 Data Source----Parquet 文件的读取与加载

    spark SQL Parquet 文件的读取与加载 是由许多其他数据处理系统支持的柱状格式.Spark SQL支持阅读和编写自动保留原始数据模式的Parquet文件.在编写Parquet文件时,出于 ...

  4. excel to datatable (c#用NPOI将excel文件内容读取到datatable数据表中)

    将excel文件内容读取到datatable数据表中,支持97-2003和2007两种版本的excel 1.第一种是根据excel文件路径读取excel并返回datatable /// <sum ...

  5. 条形码的应用三-----------从Excel文件中读取条形码

    条形码的应用三------从Excel文件中读取条形码 介绍 上一篇文章,我向大家展示了生成多个条形码并存储到Excel文件中的一个方法.后来我又有了个想法:既然条码插入到excel中了,我可不可以从 ...

  6. java通过文件路径读取该路径下的所有文件并将其放入list中

    java通过文件路径读取该路径下的所有文件并将其放入list中   java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...

  7. [html5+java]文件异步读取及上传核心代码

    html5+java 文件异步读取及上传关键代码段 功能: 1.多文件文件拖拽上传,file input 多文件选择 2.html5 File Api 异步FormData,blob上传,图片显示 3 ...

  8. Servlet从本地文件中读取图片,并显示在页面中

    import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer ...

  9. PHP文件操作 读取与写入

    基本知识: PHP文件系统是基于Unix系统的 文件数据基本类型:二进制数据.文本数据 文件输入流:数据从源文件到内存的流动 文件输出流:数据从内存保存到文件的流动 文件操作函数: >>& ...

随机推荐

  1. gcc 4.8安装

    suse的安装参考:http://blog.csdn.net/cloudskyfhx/article/details/17660607 有些错误处理见本文黄色部分 CentOS 6.4 编译安装 gc ...

  2. RBF网络——核心思想:把向量从低维m映射到高维P,低维线性不可分的情况到高维就线性可分了

      RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近.时间序列分析.数据分类.模式识别.信息处理.图像处理. ...

  3. Node.js:NPM 使用介绍

    ylbtech-Node.js:NPM 使用介绍 1.返回顶部 1. NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: ...

  4. 纯JS监听document是否加载完成

    欢迎加入前端交流群交流知识&&获取视频资料:749539640 概述 一个document 的 Document.readyState 属性描述了文档的加载状态. 一个文档的 read ...

  5. nginx 限制ip/限制访问路径

    一.多站点统一限IP vim nginx.conf allow 127.0.0.1; deny all; # 以上代码解释: # deny all; 限制所有的ip # allow ip; 除了 这个 ...

  6. BZOJ 1018 线段树维护图的连通性问题

    思路: 我们可以搞一棵线段树 对于一段区间有6种情况需要讨论 左上右下.左上右上.左下右下.左下右上 这四种比较好维护 用左上右下举个例子吧 就是左儿子的左上右下&左区间到右区间下面有路&am ...

  7. 通过阅读《React 进阶之路》之学习笔记

    第一章: React 通过引入虚拟DOM.状态.单向数据流等设计理念,形成以组件为核心,用组件搭建UI的开发模式.

  8. 读书笔记6-浪潮之巅(part1)

    浪潮之巅 ——对于一个人来讲,一生能够赶上一次科技革命的浪潮也就足够了 近一百多年来,总有一些公司很幸运地站在了技术革命的浪尖上.而一旦处在那个位置,就算只用随着潮流的发展而前行,也能安安稳稳地发展十 ...

  9. SQL的类型转换

    说到SQL类型转换,我们知道SQL是一个弱类型语言,所以可以做隐式的强制类型转换,下面记录一下这几天遇到的类型转换问题. 1.在SQL中,字符串类型与数字之间转换是不需要强制类型转换符的,如果字符串是 ...

  10. javascript中创建对象和实现继承

    # oo ##创建对象 1. 原型.构造函数.实例之间的关系 * 原型的construct->构造函数:调用isPrototypeOf(obj)方法可以判定和实例的关系:  * 构造函数的pro ...