Hive分隔符

Table of Contents

特殊字符

通过digraph输入

测试数据

查看隐藏字符的方法

cat

vim


特殊字符

以下这些字符是可以在Hive中应用,并且DATAX也支持的:

chardigraphhexdecofficial nameUnicode
^@NU0x000NULL (NUL)N\u0000
^ASH0x011START OF HEADING (SOH)\u0001
^BSX0x022START OF TEXT (STX)\u0002
^CEX0x033END OF TEXT (ETX)\u0003
^DET0x044END OF TRANSMISSION (EOT)\u0004
^EEQ0x055ENQUIRY (ENQ)\u0005
^FAK0x066ACKNOWLEDGE (ACK)\u0006
^GBL0x077BELL (BEL)\u0007
^HBS0x088BACKSPACE (BS)\u0008
^IHT0x099CHARACTER TABULATION (HT)\u0009
^@LF0x0a10LINE FEED (LF)\u0010
^KVT0x0b11LINE TABULATION (VT)\u0011
^LFF0x0c12FORM FEED (FF)\u0012
^MCR0x0d13CARRIAGE RETURN (CR)\u0013

注意:特殊符号中的^ 和键盘上的^ 字符是不一样的。另外特殊符号中的^和后面跟的字符是一体的,也就是说,两个字符是一个符号。

通过digraph输入

Vim中显然没有什么特殊字符选择工具,但提供了两种输入特殊字符的方式:

  • 1、通过两个字符来输入一个特殊字符(digraph)。
  • 2、直接通过编码值(ASCII或Unicode)输入。

其中digraph是一种类似双拼的方法,连续输入两个字符来表示一个特殊字符。需要先按下前导键<Ctrl-K>,例如在编辑模式下输入:

<Ctrl-K>Rg

如上的输入,将会出现®字符,其中"Rg"是该字符的digraph(双拼)。

特殊字符表中的digraph列就是这些字符的双拼输入字符,输入时注意大小写,双拼输入是区分大小写的。

在Windows中是无法输入特殊字符的,可以使用Unicode码进行输入。

例如:要使用^A作为分割字符可以这样写:

create external table city
(city_id string,city_name string ) 
row format 
delimited fields 
terminated by '\u0001' 
location 'hdfs://hadoop01:8090/test/city';

测试数据

建表语句:

create external table city
(city_id string,
city_name string,
pinyin string,
pingying2 string,
code string,
db_name string,
city_status string,
default_areas string,
yum_city_name string) 
row format 
delimited fields 
terminated by '\u0000' 
location 'hdfs://hadoop01:8090/test/city';

如上的代码使用的^@字符作为分隔符的。

以下是数据格式样例:

将此文件直接传到Linux服务器中,使用vim打开,可以发现,字段之间的分隔符如下:

Hive查询出来的数据样例:

这里需要说一下,在特殊字符表中有两个^@ 符号,经过测试,这两个符号在作为分隔符的时候是一样的,可以认为是一样的。只是输入的时候不一样。

查看隐藏字符的方法

在Linux系统中,文本文件中是存在隐藏字符的,需要使用以下命令才能查看到:

cat

命令如下:

cat -A fileName

vim

使用vim进入编辑文件的命令模式,使用以下命令:

set list #显示隐藏字符
set nolist #取消显示隐藏字符
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值