631
阿里云
Java开发__Intelij 开发插件_工具_大数据计算服务-阿里云
MaxCompute studio能支持用户开发java UDF和MR,在此之前,你得新建一个MaxCompute java module。
新建MaxCompute java module
File | new | module … module类型为MaxCompute Java,配置Java JDK和MaxCompute console的安装路径。若您尚未安装MaxCompute console,可点击这里下载。
配置console目的有两个:
- a) 开发UDF|MR需依赖相关的jar,而这些jar在console的lib目录都存在。
- b) studio可以集成console,console能提供很多功能简便的操作,如生产运行MR。
点击next,输入module名,点击finish。
MaxCompute java module目录结构
至此,一个能开发MaxCompute java程序的module已建立,如下图的jDev。主要目录包括:
- src(用户开发java程序源码)
- examples(示例代码,包括单测示例,用户可参考这里的例子开发或编写UT)
- warehouse(本地运行时需要的schema和data)
MaxCompute java module建好后,即可以开始开发UDF和MR了。具体步骤如下:
开发
- 1 在src目录右键 new | MaxCompute Java
- 2 输入类名,如myudf.PlusHello,选择类型,这里我们选择UDF,点击OK。
- 3 模板已自动填充框架代码,你只需要编写UDF的入参出参,以及函数逻辑。
调试
UDF或MR开发好后,下一步就是要测试自己的代码,看是否符合预期,我们支持两种方式:
单元测试
在examples目录下会有各种类型的单测实例,可参考例子编写自己的UT。
下载表的部分sample数据到本地运行
studio也支持下载线上sample数据到本地来测试,进行debug,步骤如下:
- 1 在editor中UDF类上右键,点击”运行”菜单,弹出run configuration对话框。UDF|UDAF|UDTF一般作用于select子句中表的某些列,因此此处需配置MaxCompute project,table和column(元数据来源于project explorer)。而MR直接作用于表的整行,输入输出表都在driver中已指定,因此只需配置MaxCompute project即可。
- 2 点击ok后,会自动通过MaxCompute tunnel服务下载表的sample数据(最多10000行)到本地的warehouse目录。UDF和MR的local run框架然后会解析warehouse中指定列的数据,喂给Main Class,开始本地运行,用户可以在控制台看到日志输出和结果打印。
UDF|MR开发测试完成,接下来就是打包发布到服务器上,供生产运行了。
打包
测试通过后,首先要将将代码打包成jar资源,可以通过IDE或自己写脚本解决,此处我们利用IDEA的打包功能:
- 1 File | Project Structure | Artifacts | Add
- 2 填写要生成的jar包名称,增加module output,选择我们的java module,点击OK,打包配置已完成。
- 3 选择菜单项 Build | Build Artifacts… | Build 即可以在out/artifacts/目录下生成jar。
上传jar
成功打包后,即可以将该jar包上传到MaxComptute服务端:
- 1 在MaxCompute菜单选择Add Resource菜单项:
- 2 选择要上传到哪个MaxCompute project上,jar包路径,要注册的资源名,以及当资源或函数已存在时是否强制更新,然后点击OK。
- 3 上传成功后,可以在project explorer窗口的resources节点下看到该资源。
注册UDF
jar包已上传,接下来就可以注册UDF了:
- 1 在MaxCompute菜单选择Create Function菜单项。
- 2 选择需要使用的资源jar,jar的主类,输入函数名,然后点击OK。
- 3 注册成功后,可以在project explorer窗口的functions节点下看到该函数。
- 4 接下来就可以在SQL中愉快的使用新编写的UDF了。
最后更新:2016-10-13 10:32:04
上一篇:
插件安装__Intelij 开发插件_工具_大数据计算服务-阿里云
下一篇:
作业浏览__Intelij 开发插件_工具_大数据计算服务-阿里云
步骤 3-3:创建和查询多维数据集__创建监控任务_用户指南_业务实时监控服务 ARMS-阿里云
公网连接__连接实例_快速入门_云数据库 Redis 版-阿里云
性能测试实施及管理__高级课程_性能测试视频教程_性能测试-阿里云
限制容器资源__应用管理_用户指南_容器服务-阿里云
恒易融__最佳实践_DDoS 高防IP-阿里云
阿里云的 IaaS 收入相当于中国另 7 个玩家的总和,占有 40.7% 的市场份额
技术干货:阿里云构建千万级架构演变之路
AppendObject__关于Object操作_API 参考_对象存储 OSS-阿里云
E-R 图__扩展工具_用户指南(RDBMS)_数据管理-阿里云
管理数据卷__数据卷指南_用户指南_容器服务-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云