摘要: 在大数据计算北京高端峰会上,阿里云计算平台高级专家薛明深入介绍了阿里巴巴大数据计算平台开发利器—MaxCompute Studio。一站式的 IDE,可以快速完成数据浏览和管理、进行基于 SQL 和 UDF 的数据开发,更具备完善的作业分析和优化辅助等功能。本文带领大家自浅入深了解MaxCompute Studio。
演讲嘉宾简介:薛明,MaxCompute高级技术专家。
以下内容根据演讲嘉宾视频分享以及PPT整理而成。
PPT材料下载地址:https://yq.aliyun.com/download/2729
视频地址:https://edu.aliyun.com/lesson_1010_8793?spm=5176.10731542.0.0.ZRTXdt#_8793
产品地址:https://www.aliyun.com/product/odps
工欲善其事,必先利其器。为了享受大数据计算服务(MaxCompute)带来的特性,通常需要数据分析师或数据开发者将数据的价值挖掘出来,在这过程中,我们需要借助一些工具,例如MaxCompute Studio,Dataworks等。通俗的来讲,只要某个项目想用MaxCompute,阿里巴巴MaxCompute团队就能为他们提供合手的工具,再依靠MaxCompute团队提供的强大计算力使用合理的方式将数据价值体现出来。在MaxCompute Studio出现之前,数据上传,做UDF都是很麻烦的,这也是阿里巴巴MaxCompute团队研究MaxCompute Studio的契机。
MaxCompute Studio是什么?
下图为edit编辑界面,MaxCompute Studio本质上是一个IDE,如同在编写Java程序时,会提供给一些智能提示,帮助基于上下文补全代码。在写代码时,MaxCompute Studio也可以帮助直接定位到发生错误的代码。更重要的一点是,对于大型作业,如果将作业提交到服务器执行很长时间后,发现执行失败了,而错误仅仅在于数据类型不匹配或语句错误等,这就意味着之前的这么多数据都白跑了,这种情况极大的影响了开发效率。对此,MaxCompute Studio可以在本地提示导致作业执行失败的错误,比如表不存在,或该列类型与所需类型不匹配等,我们可以实时地修改错误,避免循环提交执行带来的效率低下等问题。MaxCompute Studio提供模板进行UDF开发,支持Java或者Python的逻辑代码在统一的IDE中进行编译,通过在本地调试,发现问题后可以直接跳转到相应的地方进行修改。在数据管理方面,MaxCompute Studio能preview出表的元数据,列等信息,另外,元数据可以缓存在本地,因此支持离线处理。
MaxCompute Studio的几大特征如下图所示。我们都希望工具能够快速解决自己遇到的问题,以此提升开发效率和体验,对于MaxCompute Studio,每当有了新的MaxCompute功能,MaxCompute Studio会第一时间为开发者提供新功能的使用。此处之外,MaxCompute Studio是完全免费,开箱即用的,是基于IntelliJ平台为MaxCompute定制构建的IDE,同时MaxCompute Studio支持SQL编程以及UDF开发。
接下来为大家介绍MaxCompute Studio产品的设计初衷以及MaxCompute Studio如何与DataWorks配合使用的问题。好比下图中挖金矿这一活动,在进行挖掘之前,我们需要选择一些工具挖到金子,之后再将金子转换成有价值的东西,这一过程被称为“The Gold Life Cycle”。将挖掘数据价值的过程与挖金子的过程进行类比,首先将数据看成金矿,在数据层面,可能需要做各种各样的事情,Data Scientist,Data Engineer等人均在数据价值挖掘中承担角色;再将MaxCompute Studio比作中国最常用,应用最广泛的工具“兵工铲”, 利用MaxCompute Studio挖掘数据的价值,之后再对数据进行加工,然后在阿里云提供的数加平台上享受大数据服务。之后,MaxCompute Studio会将UDF,SQL等功能在阿里云数加平台上进行共享和同步。
MaxCompute Studio—安装
下图展示了MaxCompute Studio的安装步骤。MaxCompute Studio基于IntelliJIDEA,同时支持PyCharm,WebStorm等平台,同时MaxCompute Studio也可以很好的应用在IntelliJIDEA社区版本上。下载完IntelliJIDEA之后,需要安装插件,查找MaxCompute Studio进行安装,安装完插件之后,重启IntelliJIDEA。到这为止,MaxCompute Studio已经安装完毕了,可以开启你的MaxCompute之旅。
MaxCompute Studio—数据管理
下图展示MaxCompute Studio提供的数据管理功能(详情请见视频分享)。在安装完MaxCompute Studio之后,首先需要以已有的MaxCompute项目创建项目空间连接,但并不是指开通了MaxCompute Project的服务,只是进行了一个关联,可以在client端随时取消关联。建立项目空间连接后,即可在项目空间浏览器中查看相关的数据结构和资源信息。我们以MaxCompute账号登陆后,可以看到所有已经开通的项目,然后进行关联;之后通过项目管理器可以很方便的查看service及下面的project,表,function,资源文件等。双击一张表后,我们可以看到表的基本信息,schema等,如果是分区表,可以根据分区进行数据浏览,同时我们可以在分区预览时,进行数据导出及数据导入,Studio 可以将CSV,TSV 等格式的本地数据文件导入到 MaxCompute 表中,也可将 MaxCompute 中表数据导出数据到本地文件。MaxCompute Studio提供在资源管理器上进行refresh的操作,也就是说表的数据结构是缓存在本地的,因此无论我们处在离线或在线的情况都可以看到智能提示。MaxCompute Studio集成了其他工具,随着MaxCompute Studio的更新,会绑定更新console版本。MaxCompute Studio提供了更多的辅助工具,如果想要创建Table,除了写create table之外,MaxCompute Studio提供更多界面化的操作,例如创建外部表,建立索引等。
MaxCompute Studio—SQL开发
下图展示MaxCompute Studio提供的SQL开发功能(详情请见视频分享)。MaxCompute Studio可以实时报告编译器错误,由于表的元数据是在本地保存的,因此离线与在线状况下的报错情况存在不同。MaxCompute Studio提供上下文相关智能提示和代码补全功能,在不同场景下将会看到不同的提示,在MaxCompute Studio中可以集成元数据,这样就可以在编写SQL语句时自动帮助开发者对于表格、字段以及函数进行提示。如果开发者在写代码时,突然忘记了语法,MaxCompute Studio应用Live Template代码模板进行代码补全。开发者可以使用全局快捷搜索查找内置的UDF等。当我们把鼠标移到某个Table时,MaxCompute Studio实时显示关联信息,帮助和跳转。MaxCompute Studio还在不断的完善中,可以通过全表扫描进行代码缺陷检测和快速修复。在MaxCompute Studio中可以选中某个子查询提交,之前提交的SQL及其状态都可以查询到。MaxCompute Studio提供的SQL功能远不止下图展示的那么多,它总是无时无刻地协助SQL开发。
MaxCompute Studio—UDF开发
下图展示MaxCompute Studio提供的UDF开发功能(详情请见视频分享)。UDF开发是我们必须进行并且需要有一些工具支撑它。虽然SQL的表达能力很强,但是有一些业务逻辑仍然需要使用编程语言或使用外部的库去处理,因此MaxCompute Studio的目标是帮助用户通过SQL语言完善表达能力,同时允许用户提供自己的UDF,例如UDAF,UDTF,UDJ等,将SQL与UDF结合起来更好的满足数据挖掘的需要。在MaxCompute Studio中可以创建UDF,修改从模板中生成的代码,调用业务逻辑,然后进行本地的调试,同时也支持将线上的表中的数据重新拿回来调试。调试完成后,通过一键部署,打包成jar,上传到MaxCompute,注册UDF,在SQL中调用,完成本地编译和提交。用户可以在提交后可查看进度以及UDF的具体状况。另外,可以通过远程在线调试调整运行失败的代码。
MaxCompute Studio—作业可视化分析
下图展示MaxCompute Studio提供的作业可视化功和分析功能(详情请见视频分享)。其实我们在之后的代码优化或是作业分析上会花一定时间。在作业分析方面,MaxCompute Studio提供了不同类型的作业热力图,可以按照时间的长短,读取的数据量,输出的数据量等不同的纬度展现作业的状态,这样我们可以有针对性的查看每个阶段存在的问题。作业回放是MaxCompute Studio的一把利器,对于某项作业,我们想知道它的运行状况,时间都花在了哪个阶段,这时候就可以采用作业回放重现作业执行过程,MaxCompute Studio允许用户回放作业执行进度的全过程,以便我们了解在哪个任务上花费了较长时间,哪个阶段处理数据或者输出数据最多等情况。我们还可以在执行计划中看到每个阶段或者全局的作业执行情况,查看正在执行的,等待执行的或者历史作业执行状况。切换到时序图tab,通过比较两个作业的执行timeline,我们能直观地了解作业执行状况,查看作业的执行路径,发现某个instance数据倾斜导致作业长尾等问题。
相关推荐
对于Hadoop MapReduce(MR)的使用者,MaxCompute提供了Hadoop MR Adapter,允许用户在不修改代码的情况下,直接将MR作业迁移到MaxCompute平台执行。 为了满足不同用户的需求,MaxCompute 2.0实现了对Hive Thrift...
kotlin 本地AndroidStudio插件,最新!!!!kotlin 本地AndroidStudio插件,最新!!!! 使用方法: AndroidStudio Settings--->Plugins----->Install plugin from disk 选择该压缩包 。OK -----;结束
MaxComputeStudio是阿里巴巴集团研发的一款集成开发环境(IDE),主要用于MaxCompute平台的开发和使用,它为开发者提供了一个集数据管理、SQL开发、UDF(User-Defined Function,用户自定义函数)开发等多功能于一体...
Visual Studio 2012 安装教程 Visual Studio 2012 是一款功能强大且功能丰富的集成开发环境(IDE),它为开发者提供了一个功能强大且灵活的开发平台。下面是安装 Visual Studio 2012 的详细教程: 安装环境要求 ...
这体现了MaxCompute SQL在大数据场景下的复杂性和多样性需求。为了提升用户体验,MaxCompute还推出了MaxCompute Studio等易用性改进功能,以及一些特色语言功能,例如TABLEVARIBLE和Parameterized View。 ...
通过学习 MaxCompute,用户能够快速了解 MaxCompute 的核心功能、产品架构、典型场景和生态体系,同时解决使用过程中可能遇到的常见问题,从而快速上手 MaxCompute,用好 MaxCompute,最大限度发挥数据的价值,支撑...
RoboWare Studio是ROS的一款IDE,基于微软开源的VSCode开发,功能比较强大,使得开发更加快速、简单。是目前最好用的ROS开发工具了。
GLStudio及其在雷达面板仿真中的应用 GLStudio简介1 GlStudio简介2 GLStudio简明教程 GLStudio与VegaPrime在船舶机舱虚拟仿真系统中的应用 GLStudio与VegaPrime在某舰炮虚拟训练仿真系统中的应用 GLStudio在Vega...
微软下一代Visual-Studio发展战略展望!
7. MaxCompute 客户端工具:MaxCompute 提供了多种客户端工具,包括odpscmd、DataStudio、MaxCompute Studio等。用户可以根据自己的需求选择合适的工具,快速构建大数据平台。 8. MaxCompute SQL:MaxCompute SQL ...
mac下sqlite超好用可视化工具sqlitestudio
=============================================================== ! !在安装最新版本之前,必须彻底卸载以前的RAD Studio版本!! =========================================...从RAD Studio ISO镜像[radstudio_11_es
### Visual Studio 2008 常用小技巧详解 #### 一、特殊快捷键与设置 在软件开发过程中,提升工作效率对于开发者而言至关重要。本文将详细介绍Visual Studio 2008中的一些实用小技巧,包括特殊快捷键以及一些特殊...
ZendStudio 12.5.1破解补丁!
同时向下兼容激活10.0 10.1 10.2等版本。 支持: 1、Rad Studio 10.2.2.2004 Tokyo Not Hot Release 2 Enterprise/Architet/Ultimate 2、Rad Studio 10.2.2.1978 Tokyo Not Hot Release 2 Enterprise/Architet/...
但不要担心,通过阅读“Spoon Studio简单使用说明.docx”文档,你可以逐步了解并掌握它的基本操作。这份中文指南将帮助你快速上手,节省摸索的时间。 1. **启动与界面介绍**:Spoon Studio的启动过程相对简单,打开...