Hive实战(三)特定分割符\u0003

该博客介绍了如何使用Java编写代码,生成以特定字符''作为分隔符的TXT文件,以适应Hive的数据导入需求。内容涵盖了Java转义字符和Unicode表示法,以及Hive对分隔符的支持情况。同时,讨论了Hive创建表时的rowformatdelimitedfieldsterminatedby语句如何使用特殊字符。
create table temp.tmp_test_serp(
id string,
name string,
password string
)row format delimited fields terminated by '\003'

在这里插入图片描述
在这里插入图片描述

使用java编写一个特定分割符\u0003的txt文件。

	    int splitChar = 3;
        String splitString1 = String.valueOf((char)splitChar);
        System.out.println(splitChar+"的字符串形式表示为"+splitString1);
        serpTest.writeFile(userList,filePath,splitString1);

完整版的读取mysql生成特定分隔符的文件

由于hive由java编写,所以row format delimited fields terminated by 后也可以使用java的方式输入特殊字符,
比如用java的转义字符——反斜杠()+0+八进制数字可以代表任意ASCII码,或者用\u + 四位数字可以代表任意Unicode字符。

比如hive创建表格的默认分隔符为SOH字符,ASCII码中的序号为1,所以可以用’\001’表示。

详情可参考Java官方说明:http://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-OctalNumeral

不过需要注意的时,目前hive似乎只支持一个字符作为分隔符,不支持多个字符作为分隔符,如果row format delimited fields terminated by后面跟多个字符,比如

row format delimited fields terminated by ‘…’

系统只会使用一个点(.)作为分隔符。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值