日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

hadoop中汉字与英文字符混合的keyword做为combine的key的问题

發(fā)布時(shí)間:2025/6/15 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop中汉字与英文字符混合的keyword做为combine的key的问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

近期,須要將漢字與字符的非常合串作為combine的輸出的key,

這樣做是希望,利用hadoop的歸并來(lái)依照key進(jìn)行分組,然后,在reduce階段,拿到的都是一個(gè)一個(gè)組。

可是,發(fā)現(xiàn),這樣的,漢字混合的傳做key,居然,在reduce階段中,接受的的key并非唯一的,于是,考慮利用轉(zhuǎn)碼來(lái)實(shí)現(xiàn)。

終于,問(wèn)題攻克了。

package test.com.gjob.services; import java.util.Properties; public class Test { public static void main(String[] args) { String s = "簡(jiǎn)單介紹"; String tt = gbEncoding(s); // String tt1 = "你好,我想給你說(shuō)一個(gè)事情"; System.out.println(decodeUnicode("\\u7b80\\u4ecb")); // System.out.println(decodeUnicode(tt1)); System.out.println(HTMLDecoder.decode("中國(guó)")); 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進(jìn)制parse整形字符串。 buffer.append(new Character(letter).toString()); start = end; } return buffer.toString(); } }

總結(jié)

以上是生活随笔為你收集整理的hadoop中汉字与英文字符混合的keyword做为combine的key的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。