在MaxCompute生态中,命令行工具究竟处于什么样的位置?它又发挥着什么样的作用?能够帮助开发者如何更好使用MaxCompute?在本文中,阿里巴巴计算平台产品专家曲宁将通过一个完整简单的小例子为大家介绍MaxCompute命令行工具odpscmd的使用以及其所具有的各种能力。
直播视频回看,戳这里!https://yq.aliyun.com/webinar/play/467
分享资料下载,戳这里!https://yq.aliyun.com/download/2946
以下内容根据演讲视频及PPT整理而成。
本文将主要按照以下五个方面进行介绍:
1. 命令行工具odpscmd在MaxCompute生态中的定位
2. 快速开始:一个完整简单的小例子
3. 客户端提供的能力框架
4. 客户端重点场景说明
5. 容易碰到的问题
一、命令行工具odpscmd在MaxCompute生态中的定位
odpscmd其实就是MaxCompute的命令行工具的名称,其在整个MaxCompute中的位置是位于最上端的。如下图所示,整个MaxCompute生态自下而上是支撑的关系,而真正暴露给用户的是一套Rest API,这套API也是最核心的接口,无论是Java还是Python的SDK都需要调用这些核心API。而命令行工具就是对于MaxCompute开放的Rest API做了深度的包装,在客户端使得用户可以使用命令的方式来提交作业,这些作业又将会通过接口提交给MaxCompute集群进行相关的管理和开发。可能大家对于MaxCompute以及DataWorks这个组合比较熟悉,这是因为使用MaxCompute之前需要在DataWorks上面进行开通。实际上,MaxCompute自身也有一些生态工具,比如odpscmd以及MaxCompute Studio等。
二、快速开始:一个完整简单的小例子
在本部分中,将通过一个简单而完整的例子对使用odpscmd客户端进行数据处理的各个阶段进行介绍。在文中仅对于各个步骤进行简略描述,具体的实践操作详见视频分享。
作为MaxCompute的客户端工具,odpscmd与Hive CLI以及PSQL这样客户端工具是比较类似的,都是一个黑屏的操作管理工具。接下来为大家分享一个完整而简单的小例子,这个例子能够完整地覆盖大数据处理的各个环节,包括了环境准备、数据接入、数据处理加工以及数据消费。在大家常见的大数据场景中,业务数据往往分散在数据库以及其他的生产环境中,而定期会进行数据采集或者同步,将生产环境中的增量数据同步到数据仓库中去,这样就会涉及到数据接入。之后在数据仓库中就会周期性地做一些数据处理加工,这些加工有时候会用常见的SQL做,对于MySQL而言提供了MR这样的编程框架,而一些具有深度需求的用户则会通过UDF来实现一些比较复杂的业务逻辑,同时在数据加工的时候会需要监控作业的执行情况,所以也会有对于进度以及成功状态等的作业查看和管理的需求。作业处理完毕之后,这时候基本上完成了数据的清洗和聚合,这时候就可以提供给数据消费方使用。对于数据使用消费方而言,往往需要将加工好的可消费数据回流到业务系统来支撑在线应用,或者通过JDBC接口连接BI工具进行可视化分析,而业务分析师也往往希望下载一些数据