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

原文链接:点击打开链接

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

2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF。


b51ec4adb2cddb2884b7c1c839a1f39e011bf99f


小编第一时间申请到了公测资格,下面就为大家做个简单演示,通过DataWorks注册MaxCompute Python UDF(字符串大小写转换),完成数据处理。


前提条件:

1、申请开通https://page.aliyun.com/form/odps_py/pc/index.htm

注意:公测阶段请使用测试Project,不要使用生产Project。

2、开通MaxCompute/Dataworks。

3、Python 脚本,test_udf.py。实现方法请参考Python实现MaxCompute UDF


# -*- coding:utf-8 -*-
from odps.udf import annotate #函数签名,SQL执行前所有函数的参数类型和返回值类型必须确定;
@annotate("string->string")#参数为string,返回值为string;
class Upper2Lower(object):
   def evaluate(self, arg):#实现 evaluate 方法;
       return arg.lower()

操作演示:

step1,通过Dataworks数据开发添加.py资源。操作如下,数据开发->资源管理->上传资源。

465e518b606bec060f7bb1859ed1215c097b22a3


step2,通过Dataworks数据开发任务创建.py资源。

--@resource_reference{"test_udf.py"}
add py test_udf.py;

268623dbf93d6b9cbbf3717503ed7dabcc826af8

7ceb991b6f45dc06b622e56ff530d4578eeb170d


06c49a825599bdcc9b3638fef076398deba80131


0e6f7324937499c425c31174bdd5654a979aabb4


step3,数据开发任务注册函数。

create function upper2lower as 'test_udf.Upper2Lower'
    using test_udf.py 

45a159f56dc3857b70ed43bdc36144085cc8725a

 

step4,通过list命令查看函数是否注册成功。

list functions ;

8093bcda0edda5a2cdf92d80c95d9034e3fc2c34


step5,完成udf测试。

select upper2lower('AA');

a9c08ad3d11bae7b288c26bee715ae0945c0e308


相关资料参考:

通过MaxCompute Console 运行Python UDF

上传py资源 

add py <local_file.py> [comment 'cmt'][-f];  如,add py test.py;

创建函数

create function [function_name] as [filename].[class_name] using [filename]; 
如,create function upper_to_lower as test.Upper2Lower using test.py;


命令行大全:https://yq.aliyun.com/articles/304494


欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下:

IMG_3471

9386564c728d252b47446fb4dca021f3db48ad4a

阿里巴巴大数据-玩家社区 https://yq.aliyun.com/teams/6/

---阿里大数据博文,问答,社群,实践,有朋自远方来,不亦说乎……

bba01b493e1c5d904e882b1c380673c6ebe49a98



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值