文档章节

MaxCompute UDF系列之如何判断字符串中是否包含汉字

 时光承诺
发布于 2017/08/14 14:27
字数 445
阅读 1
收藏 0
点赞 0
评论 0

原文地址

 

为了验证字符串中是否包含中文汉字,今天为大家提供一个自动判断中文字符的MaxCompute UDF,下载地址见附件。

 

效果如下:
 

fd8039d811726e7a6c48a302bb24213ef5426e6b

81720139e07311d9c2260d3596ac13b770056fb9

 

MaxCompute UDF代码如下:

 

package com.yinlin.udf.dev;

import com.aliyun.odps.udf.UDF;
// 根据Unicode编码完美的判断中文汉字和符号
public class Han extends UDF {
  public String evaluate(String inputHan){
  if (inputHan == null) {return inputHan;}
  char[] input = inputHan.trim().toCharArray(); 
   
     for (int i = 0; i < input.length; i++) {
        Character.UnicodeBlock ub = Character.UnicodeBlock.of(input[i]);
        if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
            || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
            || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
            || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
            || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
            || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
            || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {
          //System.out.println(input[i]);
          return "1";
        }
     }
    return "0";
  }
}


 

 

 

 

使用方法:

1、通过Eclipse将Han.Java编译成Jar包,命名为han_udf.jar。

 

2、通过大数据开发套件,上传资源han_udf.jar;

59548b443bb62fecdf4be0e3116500b93c4e11be

 

 

3、通过大数据开发套件,引用第二步上传的han_udf.jar资源,注册han函数;

d87860cc56e6df22e410646a4890e5545d75fa3f

4、通过大数据开发套件新建SQL脚本,输入SQL函数进行测试

 

--创建虚拟表
CREATE TABLE IF NOT EXISTS dual (id STRING);
insert into table dual select '1' from (select count(1) from dual) t;


--根据Unicode编码完美的判断中文汉字和符号
select han('yinLin123%') from yinlin_demo.dual limit 1;


--根据Unicode编码完美的判断中文汉字和符号
select han('隐林yinLin123%') from yinlin_demo.dual limit 1;


 

 

 

到此为止,实验完成。

 

常见问题

Q:无结果?

我们在创建虚拟dual表的时候,一定要保证表中有数据。

 

Q:无法找到han函数?

利用大数据开发套件注册han函数的时候需要包名+类名,否则会找不到类。

 

原文地址

本文转载自:http://click.aliyun.com/m/28279/

共有 人打赏支持
粉丝 0
博文 223
码字总数 0
作品 0
MaxCompute - ODPS重装上阵 第三弹 - 复杂类型

摘要: MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外,也致力于提...

阿里云云栖社区 ⋅ 01/12 ⋅ 0

MaxCompute Studio使用心得系列6——一个工具完成整个Python UDF开发

2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF,万众期待的功能终于支持啦,我怎么能不一试为快,今天就分享如何通过Studio进行Python udf开发。 前置条件 了解到,...

海清 ⋅ 2017/12/21 ⋅ 0

阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171127)

概况介绍 大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方...

隐林 ⋅ 2017/05/05 ⋅ 0

北京云栖大会MaxCompute又出大招,Python UDF抢先体验!

2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF。 小编第一时间申请到了公测资格,下面就为大家做个简单演示,通过DataWorks注册MaxCompute Python UDF(字符串大小写...

隐林 ⋅ 2017/12/20 ⋅ 0

MaxCompute - ODPS重装上阵 第二弹 - 新的基本数据类型与内建函数

摘要: MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外,也致力于提...

阿里云云栖社区 ⋅ 01/11 ⋅ 0

在 MaxCompute UDF 中运行 Scipy

新版 MaxCompute Isolation Session 支持 Python UDF。也就是说,Python UDF 中已经可以跑二进制包。刚才以 Scipy 为例踩了一下坑,把相关的过程分享出来。 下载 Scipy 包并上传资源 首先,从...

继盛 ⋅ 05/10 ⋅ 0

用MaxCompute Studio开发Python UDF(附采坑记录)

1.环境 系统:MacOS 系统自带Python版本(/usr/bin/python):2.7.10 Anaconda Python版本:2.7.14 Maxcompute Studio版本: 2.9.1 2.安装Python|Pyodps|Python插件 MaxCompute studio能支持用......

watercat ⋅ 05/24 ⋅ 0

你的数据安全么?Hadoop再曝安全漏洞| 黑客利用Hadoop Yarn资源管理系统未授权访问漏洞进行攻击

4月30日,阿里云发现,俄罗斯黑客利用Hadoop Yarn资源管理系统REST API未授权访问漏洞进行攻击。 Hadoop是一款由Apache基金会推出的分布式系统框架,它通过著名的 MapReduce 算法进行分布式处...

隐林 ⋅ 05/07 ⋅ 0

ofo在MaxCompute的大数据开发之路

摘要:2017年,ofo向市场投入了一千多万辆单车,这些单车的投放、运营和调度需要大量数据的支持。本文将从ofo选择MaxCompute的理由以及数据完整性、任务调度、Proxy服务三个方面的实战应用,...

阿里云云栖社区 ⋅ 06/21 ⋅ 0

违禁词过滤完整设计与优化(前缀匹配、二分查找)

可能不止在天朝,绝大多数网站都会需要违禁词过滤模块,用于对不雅言论进行屏蔽;所以这个应该算是网站的基础功能。大概在去年的时候我开发过这个功能,当时用6600+(词数)的违禁词库,过滤2...

Breath_L ⋅ 2012/05/05 ⋅ 11

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Gitee 生成并部署SSH key

1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public/private rsa key pair...# 三次回车即可生成 ssh key 查看你的 ...

晨猫 ⋅ 44分钟前 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部