hadoop中汉字与英文字符混合的关键字做为combine的key的问题
来源:互联网 发布:sql语句获取前一天 编辑:程序博客网 时间:2024/05/22 00:07
最近,需要将汉字与字符的很合串作为combine的输出的key,
这样做是希望,利用hadoop的归并来按照key进行分组,然后,在reduce阶段,拿到的都是一个一个组。
但是,发现,这种,汉字混合的传做key,竟然,在reduce阶段中,接受的的key并不是唯一的,于是,考虑利用转码来实现。
最终,问题解决了。
package test.com.gjob.services; import java.util.Properties; public class Test { public static void main(String[] args) { String s = "简介"; String tt = gbEncoding(s); // String tt1 = "你好,我想给你说一个事情"; System.out.println(decodeUnicode("\\u7b80\\u4ecb")); // System.out.println(decodeUnicode(tt1)); System.out.println(HTMLDecoder.decode("中国")); String s1 = "\u7b80\u4ecb"; System.out.println(s.indexOf("\\")); } public static String gbEncoding(final String gbString) { char[] utfBytes = gbString.toCharArray(); String unicodeBytes = ""; for (int byteIndex = 0; byteIndex < utfBytes.length; byteIndex++) { String hexB = Integer.toHexString(utfBytes[byteIndex]); if (hexB.length() <= 2) { hexB = "00" + hexB; } unicodeBytes = unicodeBytes + "\\u" + hexB; } System.out.println("unicodeBytes is: " + unicodeBytes); return unicodeBytes; } public static String decodeUnicode(final String dataStr) { int start = 0; int end = 0; final StringBuffer buffer = new StringBuffer(); while (start > -1) { end = dataStr.indexOf("\\u", start + 2); String charStr = ""; if (end == -1) { charStr = dataStr.substring(start + 2, dataStr.length()); } else { charStr = dataStr.substring(start + 2, end); } char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。 buffer.append(new Character(letter).toString()); start = end; } return buffer.toString(); } }
4 0
- hadoop中汉字与英文字符混合的关键字做为combine的key的问题
- 汉字与字符混合单元格折行的问题
- 在C#中取汉字的拼音码,支付数字、英文字符、一级汉字、二级汉字
- C#中Path.Combine的细节问题。
- 用SQL 截取汉字英文混合的字符串
- 在C#中取汉字的拼音码,支付数字、英文字符、一级汉字、二级汉字(转贴)
- 统计文本文件的汉字和英文字符的个数
- 注意hadoop中的combine的使用
- JavaScript 计算汉字和英文字符的长度
- JavaScript 计算汉字和英文字符的长度
- 改变字符之间的间距 英文和汉字
- 统计汉字/英文/标点符号混编时的字符个数
- Qt中使用汉字字符与 “error C2001: newline in constant”问题的解决
- oracle中混合数字与字符的字符串排序
- java中字符、字节以及汉字的长度问题。
- Hadoop中MapReduce中combine、partition、shuffle的作用是什么?在程序中怎么运用?
- 简单的留言板,解决了长英文字符的问题哦,不过汉字又出问题了:)希望大家一起来解决
- 获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数
- 2人以上的选择,需要搭乘2人以上的用户,可以自带马扎安放在iCar后部。不过自带马扎
- 基于Linux环境Tomcat-MySQL的服务器搭建
- ArcGIS开发文档
- Eclipse 安装最新SVN插件
- Win 2008 R2安装SQL Server 2008R2“性能计数器注册表配置单元一致性”失败的解决办法
- hadoop中汉字与英文字符混合的关键字做为combine的key的问题
- 自己对JDBC数据库编程的自己见解
- jquery例子demo
- NodeJS优缺点及适用场景讨论
- Android获取剪切板内容(仿有道复制查词功能)
- ecshop 对接 微信商城
- cocos2d-x 打开url 和 截屏功能
- jqplot 折线图 x轴设置
- objc category的秘密