分享

hive排序中文解决

shengxinxin 发表于 2015-11-29 08:01:52 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 7 18571
有一组数据,按一个字段排序,有中文有英文,,我想像oracle一样实现那种排序方法,,也就是英文在前中文在后,英文按26字母排序,中文按拼音排序!!!!!!我现在写了udf把中文转换为拼音,但是这样一来,中文和英文就混在了一起。。。。还望大侠帮助一下啊

已有(7)人评论

跳转到指定楼层
jixianqiuxue 发表于 2015-11-29 10:23:53

在转换中文的时候,除了按照字母顺序,还可以按照数字等。也就是说,楼主可以在把中文转换成拼音的同时,对他们做下处理,再比如另外的方法。
把中文转换拼音的同时,都加一个首字母a,然后在英文里都加个首字母b,这样中文肯定都在前面,英文在后面。然后在排序,当然这样有点麻烦。
所以,还可以按照数字排序,在中文前面都加1,英文前面都加2,这样拍完,在按照字母。
当然楼主还可以想想其它办法。让他们能否分开即可。
希望对楼主有所帮助
回复

使用道具 举报

shengxinxin 发表于 2015-11-29 16:12:05
jixianqiuxue 发表于 2015-11-29 10:23
在转换中文的时候,除了按照字母顺序,还可以按照数字等。也就是说,楼主可以在把中文转换成拼音的同时, ...

有想过这样。。。可是在生产环境感觉有点怪怪的·
回复

使用道具 举报

shengxinxin 发表于 2015-12-15 16:15:21
jixianqiuxue 发表于 2015-11-29 10:23
在转换中文的时候,除了按照字母顺序,还可以按照数字等。也就是说,楼主可以在把中文转换成拼音的同时, ...

多谢啦。。上次问题解决了一直没来看。。谢谢
回复

使用道具 举报

jixianqiuxue 发表于 2016-5-8 09:45:22
shengxinxin 发表于 2015-12-15 16:15
多谢啦。。上次问题解决了一直没来看。。谢谢

是按照什么思路
回复

使用道具 举报

shengxinxin 发表于 2016-5-9 09:11:57

就是用udf判断是中文还是英文  中文的话加上8个Z 让他在后面
回复

使用道具 举报

jixianqiuxue 发表于 2016-5-9 10:41:52
shengxinxin 发表于 2016-5-9 09:11
就是用udf判断是中文还是英文  中文的话加上8个Z 让他在后面

什么意思?
楼主能否详细说下,他的原理或则来源是什么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条