在Hive中还有一项比较好用的功能,也是非常重要的功能:在建表的时候可以不指定表的行、字段、列的分隔方式,通过给表指定一段正则表达式,让Hive自动去匹配;

1、创建表

  1. CREATE TABLE apachelog (
  2. dates STRING,
  3. times STRING,
  4. types STRING,
  5. info STRING)
  6. ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
  7. WITH SERDEPROPERTIES (
  8. "input.regex" = "(^[0-9|-]{0,}) ([^ ]*) (INFO|ERROR) ([^*]*)$"
  9. )
  10. STORED AS TEXTFILE;

2、日志文件内容

  1. $ vi /opt/apachelog
    # 下面是一段hadoop的日志内容
    2016-01-23 14:22:04,407 INFO org.apache.hadoop.http.HttpServer2: Jetty bound to port 8480
  2. 2016-01-23 14:22:04,407 INFO org.mortbay.log: jetty-6.1.26
  3. 2016-01-23 14:22:05,065 INFO org.mortbay.log: Started HttpServer2$SelectChannelConnectorWithSafeStartup@0.0.0.0:8480
  4. 2016-01-23 14:22:05,357 INFO org.apache.hadoop.ipc.CallQueueManager: Using callQueue class java.util.concurrent.LinkedBlockingQueue
  5. 2016-01-23 14:22:05,428 INFO org.apache.hadoop.ipc.Server: Starting Socket Reader #1 for port 8485
  6. 2016-01-23 14:22:05,470 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting
  7. 2016-01-23 14:22:05,472 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 8485: starting
  8. 2016-01-23 16:00:15,525 ERROR org.apache.hadoop.hdfs.qjournal.server.JournalNode: RECEIVED SIGNAL 15: SIGTERM
  9. 2016-01-23 16:00:15,531 INFO org.apache.hadoop.hdfs.qjournal.server.JournalNode: SHUTDOWN_MSG:

3、导入本地数据

  1. hive> load data local inpath '/opt/apachelog' overwrite into table apachelog;

4、查看结果

  1. hive> select * from apachelog;
  2. OK
  3. 2016-01-23 14:22:04,407 INFO org.apache.hadoop.http.HttpServer2: Jetty bound to port 8480
  4. 2016-01-23 14:22:04,407 INFO org.mortbay.log: jetty-6.1.26
  5. 2016-01-23 14:22:05,065 INFO org.mortbay.log: Started HttpServer2$SelectChannelConnectorWithSafeStartup@0.0.0.0:8480
  6. 2016-01-23 14:22:05,357 INFO org.apache.hadoop.ipc.CallQueueManager: Using callQueue class java.util.concurrent.LinkedBlockingQueue
  7. 2016-01-23 14:22:05,428 INFO org.apache.hadoop.ipc.Server: Starting Socket Reader #1 for port 8485
  8. 2016-01-23 14:22:05,470 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting
  9. 2016-01-23 14:22:05,472 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 8485: starting
  10. 2016-01-23 16:00:15,525 ERROR org.apache.hadoop.hdfs.qjournal.server.JournalNode: RECEIVED SIGNAL 15: SIGTERM
  11. 2016-01-23 16:00:15,531 INFO org.apache.hadoop.hdfs.qjournal.server.JournalNode: SHUTDOWN_MSG:
  12. Time taken: 0.518 seconds, Fetched: 9 row(s)

这种方式在导入数据到Hive中时,是非常方便的。

Hive 9、Hive 在表中添加正则匹配的更多相关文章

  1. 在数据表中添加一个字段的SQL语句怎么写

    如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识.   通用式: alter table [表名] add [字段名] 字 ...

  2. Oracle 11g对大表中添加DEFAULT值的NOT NULL字段速度有大幅度的提升

    在一张2000万的表上增加了一个字段并字段一个默认值,执行这条语句(alter table tablename add new_col default ‘col’)一个小时没有执行完,问我有没有其他解 ...

  3. 使用MySQL Workbench建立数据库,建立新的表,向表中添加数据

    使用MySQL Workbench建立数据库,建立新的表,向表中添加数据 初学数据库,记录一下所学的知识.我用的MySQL数据库,使用MySQL Workbench管理.下面简单介绍一下如何使用MyS ...

  4. treeview自动从表中添加标题和列值做目录的方法2

    treeview自动从表中添加标题和列值做目录的方法2,该方法是借鉴万一老师的 http://www.cnblogs.com/del/archive/2008/05/15/1114450.html 首 ...

  5. ArcMap图层属性表中添加图片

    一看标题是不是有点懵?懵就对了!刚接触到的时候我也有点懵,属性表不是都是文本啊数字啊之类的格式,怎么还可以存图片,下面就带大家来看看吧! 一.关于图层入库问题 图层进入数据库和图层以shp格式存储时, ...

  6. SqlServer表中添加新字段

    表中添加新字段ALTER TABLE 表名 ADD 字段名 VARCHAR(20) NULL 表中添加自增idalter table lianxi add id int primary key IDE ...

  7. 向SQL Server 现有表中添加新列并添加描述.

    注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008). 工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先 ...

  8. SQL 向表中添加字段

    如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识. 通用式: alter table [表名] add [字段名] 字段属 ...

  9. mysql 在已存在的表中添加/删除字段约束AUTO_INCREMENT遇到的问题

    1. 在已存在的表中添加字段约束AUTO_INCREMENT修饰符 mysql> alter table user modify uid int auto_increment primary k ...

随机推荐

  1. shell输出加颜色

    shell输出加颜色 #cat a.sh #!/bin/sh blue=`tput setaf 4` reset=`tput sgr0` echo "${blue}[INFORMATION] ...

  2. node js npm 和 cnpm的使用

    安装nodejs后会有npm命令 npm 可以安装node插件 cnpm使用的是淘宝网的镜像http://npm.taobao.org 安装命令提示符执行:npm install cnpm -g -- ...

  3. px 和 em换算

    常用px,pt,em换算表 pt (point,磅):是一个物理长度单位,指的是72分之一英寸. px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理 ...

  4. 一起talk C栗子吧(第二十回:C语言实例--括号匹配)

    各位看官们,大家好.前几回中咱们说了堆栈的原理,而且举了实际的样例进行讲解,这一回咱们说的例 子是:括号匹配. 括号匹配使用了堆栈的原理,大家能够从样例看出来.所以我们把它们放在一起.闲话 休提.言归 ...

  5. Java八个并发学习——线程同步工具CyclicBarrier

    本文是一篇文章对网络的研究摘要,感谢您的无私分享. CyclicBarrier 类有一个整数初始值,此值表示将在同一点同步的线程数量.当当中一个线程到达确定点,它会调用await() 方法来等待其它线 ...

  6. 多重和嵌套if

    多重if实例: 看例子,内容不解释了! 隐藏行号 复制代码 ? 多重if import java.util.Scanner; public class 多重if{ public static void ...

  7. 严重: Exception starting filter struts2 --Unable to load configuration

    严重: Exception starting filter struts2 Unable to load configuration. - [unknown location] at com.open ...

  8. jdbc oracle 连接字符串

    1.普通SID方式 jdbc:oracle:thin:username/password@x.x.x.1:1521:SID 2.普通ServerName方式 jdbc:Oracle:thin:user ...

  9. ssh maven 搭建

    数据库建表脚本不带,是很简单的一个表,把数据库环境搭建起来即可. 1.项目结构(Eclipse) 2.pom.xml <project xmlns="http://maven.apac ...

  10. poj1064 二分,注意精度!

    Cable master Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35269   Accepted: 7513 Des ...