最好用的工兵铲—MaxCompute Studio,来了解下!

摘要: 在大数据计算北京高端峰会上,阿里云计算平台高级专家薛明深刻介绍了阿里巴巴大数据计算平台开发利器—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/odpsless

工欲善其事,必先利其器。为了享受大数据计算服务(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数据倾斜致使做业长尾等问题。

 

原文连接

相关文章
相关标签/搜索