odps spark节点不仅可以使用java代码进行数据处理,也可以使用python进行数据处理。
注意:由于python资源是针对Python udf
进行开发,其所能获取到的直接依赖的三方包非常有限,故而python资源使用局限性比较大,很多三方包在python资源里都没有支持,自定义添加步骤、操作繁复。
python资源引用三方依赖可仿照此文档:https://yq.aliyun.com/articles/591478
而在pyodps2/pyodps3节点内支持性比较丰满,支持性更好。
以下是python样例:
1.简单demo示例(非数据业务处理逻辑,简单案例进行校验数值判断)
创建python文件:
样例demo(仅做参考使用):
def is_number(s):
try:
float(s)
return True
except ValueError:
pass
try:
import unicodedata
unicodedata.numeric(s)
return True
except (TypeError, ValueError):
pass
return False
print(is_number('foo'))
print(is_number('1'))
print(is_number('1.3'))
print(is_number('-1.37'))
print(is_number('1e3'))
python文件保存提交发布即为odps/dataworkspy资源文件,这时候已经可以使用spark节点引用了。
2.创建odps spark节点并加载刚刚提交的python资源:
发布后即可执行测试
DataWorks百问百答历史记录 请点击这里查看>>
更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】