在创建Hive表时,一般我们会指定字段间的分隔符,如空格,\t,逗号等,这些是都单字符。那么,如果我们想要按照多个字符分隔,如##,|+|等,这时候就要用到如下两种方式:

MultiDelimitSerDe解决多字符分隔

  1. 创建表
0: jdbc:hive2://node03:10000> create table test1 (id string, name string)
. . . . . . . . . . . . . . > row format serde 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
. . . . . . . . . . . . . . > with serdeproperties ('field.delim'='##');
No rows affected (0.172 seconds)
  1. 准备测试数据test1.txt

[hadoop@node03 data]$ vi /home/hadoop/hive/data/test1.txt
1##liubei
2##guanyv
3##zhangfei

  1. 插入测试数据
0: jdbc:hive2://node03:10000> load data local inpath '/home/hadoop/hive/data/test1.txt' overwrite into table test1;
  1. 查询表
0: jdbc:hive2://node03:10000> select * from test1;
+-----------+-------------+--+
| test1.id  | test1.name  |
+-----------+-------------+--+
| 1         | liubei      |
| 2         | guanyv      |
| 3         | zhangfei    |
+-----------+-------------+--+

RegexSerDe解决多字符分隔

  1. 创建表
0: jdbc:hive2://node03:10000> create table test2(id int, name string)
. . . . . . . . . . . . . . > row format serde 'org.apache.hadoop.hive.serde2.RegexSerDe'
. . . . . . . . . . . . . . > with serdeproperties ('input.regex'='^(.*)\\#\\#(.*)$');
No rows affected (0.117 seconds)
  1. 准备测试数据test2.txt

[hadoop@node03 data]$ vi /home/hadoop/hive/data/test2.txt
1##liubei
2##guanyv
3##zhangfei

  1. 插入测试数据
0: jdbc:hive2://node03:10000> load data local inpath '/home/hadoop/hive/data/test2.txt' overwrite into table test2;
  1. 查询表
0: jdbc:hive2://node03:10000> select * from test2;
+-----------+-------------+--+
| test2.id  | test2.name  |
+-----------+-------------+--+
| 1         | liubei      |
| 2         | guanyv      |
| 3         | zhangfei    |
+-----------+-------------+--+

【Hive】多字符分隔相关推荐

  1. Hive多字符列分割

    Hive多字符分割列 1 简介 此手册应用于hive建表时指定列按照多字段分割的情景. 2 准备 2.1 环境说明 hive版本: 1.1.0-cdh5.4.7 3 使用 3.1 使用说明 方法一)通 ...

  2. mysql拆分英文数字_MySQL中的REGEX仅显示由连字符分隔的数字。

    让我们首先创建一个表-create table DemoTable ( Code varchar(100) ); 使用插入命令在表中插入一些记录-insert into DemoTable value ...

  3. sql截去最后一位_SQL截取最后一个由字符分隔的字符串

    SQL如果一个字符串由某个字符分隔,例如:"火锅>中餐>极品美食"."10*20*300",怎么得到字符最后一个字符串("极品美食&quo ...

  4. excel减法函数_Excel公式练习35: 拆分连字符分隔的数字并放置在同一列中

    学习Excel技术,关注微信公众号: excelperfect 导语:这个案例仍来自于excelxor.com,没有办法,太有才了,不得不佩服这些人,竟然能把Excel公式与函数玩成这个样子!认真研究 ...

  5. Hive建表时指定分隔符或使用多字符分隔

    不知道你是否会有会这样的苦恼,就是从hdfs或者file中导入数据到Hive建数仓的时候,因为数据是数据流前段的小GG用特殊符号分隔的,然后导致你导入数据时一脸蒙圈? 这篇教程可能会帮到你. 首先我们 ...

  6. hive中文字符乱码 解决方法【转】

    一.个人初始开发环境的基本情况以及Hive元数据库说明 ①hive的元数据库改成了mysql(安装完mysql之后也没有进行其它别的设置) ②hive-site.xml中设置元数据库对应的配置为  j ...

  7. hive 中文字符过滤_hive中文字符乱码 解决方法【转】

    一.个人初始开发环境的基本情况以及Hive元数据库说明 ①hive的元数据库改成了mysql(安装完mysql之后也没有进行其它别的设置) ②hive-site.xml中设置元数据库对应的配置为  j ...

  8. hive 中文字符过滤_0650-6.2.0-通过UDF实现HiveImpala的中文拼音排序

    作者:余枫 1.问题重现 测试环境: 1.RedHat7.2 2.CDH6.2.0 3.使用root进行操作 1.在Hive中创建一个表,并导入数据如下 2.对s2字段进行排序 select * fr ...

  9. mysql按固定字符进行切割_MySQL:SQL按特定字符分隔切割或删除特定字符

    1,先建表 DROP TABLE IF EXISTS `gongzi`; CREATE TABLE `gongzi` ( `id` int(11) NOT NULL AUTO_INCREMENT, ` ...

最新文章

  1. vba 编辑combobox内容_初识Visual Basic编辑器并建立一段简单的代码
  2. 云盘存储 教学反思_对设计训练的设计:以建筑工房工作模型课题的教学实验为例对设计训练方法论的反思...
  3. myeclipse java maven web 项目结构,Myeclipse 10 Maven 构建 Java Web 项目
  4. 通用后台管理系统(ExtJS 4.2 + Spring MVC 3.2 + Hibernate)
  5. 关于谷歌地图坐标与百度地图坐标的事
  6. 给Web开发人员的以太坊入坑指南
  7. PyQt5入门——手把手教你配置环境,快速上手GUI程序开发(Anaconda+PyCharm+Qt Designer+pyuic)
  8. 我的git仓库,顺记github配置
  9. [转]cookie、sesstion、localstorage、sesstionstorage的使用和区别
  10. Kubernetes可以代替Docker,可笑
  11. ipad写python代码用什么软件_iPad 能用来写代码吗?有哪些必备软件推荐?
  12. css中1cm等于多少px,px和rem换算(1rem等于多少px)
  13. 阿里矢量图可根据样式修改颜色
  14. PAT题集2019.6.22排名变动
  15. phpmyadmin 下载、安装、配置
  16. Electron 创建任务栏图标以及任务栏图标右键菜单
  17. FPGA中latch
  18. u盘iso安装服务器系统怎么安装win7系统安装,u盘装系统怎么直接安装win7系统iso文件...
  19. 【思维导图怎么画】万彩脑图大师教程 | 添加主题与线条
  20. android系统构建系统_构建系统简介

热门文章

  1. python中如何判断输入的是否是数字_python如何判断输入是不是数字
  2. Vue底层判断标签的性能优化方法
  3. hdu 1818 It's not a Bug, It's a Feature!(位运算+bfs优先队列)
  4. 设计自己的基于Selenium 的自动化测试框架-Java版(3) - 给框架分分层
  5. Linux内核源代码分析——中断(一鞭一条痕)(下)
  6. Sqlite3 ---------------用法
  7. 如何使用html如何安装,node.js – 如何使用全球安装的grunt-html?
  8. python扫描字符串文本时下线_SyntaxError:扫描字符串文本Python calcun时的EOL
  9. 如何理解JavaScript中Object.defineProperty【一】
  10. 【宇润日常疯测-004】JS 遍历数组如何快!快!快!