01-MaxCompute上的UDF(Python实现)
一、前言 MaxCompute中的python是2.7环境的,可以通过sys.version验证,话说Python社区都准备放弃2.7了,阿里云啥时候跟上时代的步伐升级到3.x哦。 我们测试一下: Executing user script with PyODPS 0.8.0 2.7.10 (default, Sep 18 2015, 16:43:46) [GCC 4.1.2 20080704 (Red Hat 4.1.2-51)] 可以看到数据开发中的PyODPS版本号,以及Python的版本为2.7.10,机器的系统是Red Hat,一个Linux环境。 据官方文档称,Python代码以沙箱模式执行,在一个受限的环境中运行,部分模块是不可用的。所有纯Python实现(不依赖扩展模块)的模块都是可用的,以及部分C实现的模块,所以不要想当然把本地的一些代码直接挪上来,可能某些包是没有的哦。 二、UDF实战 2.1 指定参数和返回值类型 Python UDF目前支持的MaxCompute SQL数据类型包括Bigint、String、Double、Boolean和Datetime。SQL语句在执行之前,必须确定所有函数的参数类型和返回值类型。 参数与返回值的指定方式如下: @odps.udf.annotate(signature) 很显然,是一个装饰器的写法。