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

简介: 摘要: 在大数据计算北京高端峰会上,阿里云计算平台高级专家薛明深入介绍了阿里巴巴大数据计算平台开发利器—MaxCompute Studio。一站式的 IDE,可以快速完成数据浏览和管理、进行基于 SQL 和 UDF 的数据开发,更具备完善的作业分析和优化辅助等功能。

摘要: 在大数据计算北京高端峰会上,阿里云计算平台高级专家薛明深入介绍了阿里巴巴大数据计算平台开发利器—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 StudioDataworks等。通俗的来讲,只要某个项目想用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 Studiopreview出表的元数据,列等信息,另外,元数据可以缓存在本地,因此支持离线处理。

07b65a8054002ea77ea7016f826a9ee1d6f76887

MaxCompute Studio的几大特征如下图所示。我们都希望工具能够快速解决自己遇到的问题,以此提升开发效率和体验,对于MaxCompute Studio,每当有了新的MaxCompute功能,MaxCompute Studio会第一时间为开发者提供新功能的使用。此处之外,MaxCompute Studio是完全免费,开箱即用的,是基于IntelliJ平台为MaxCompute定制构建的IDE,同时MaxCompute Studio支持SQL编程以及UDF开发。

5a2b75a370500c6cc1163650705d70711da24f95

接下来为大家介绍MaxCompute Studio产品的设计初衷以及MaxCompute Studio如何与DataWorks配合使用的问题。好比下图中挖金矿这一活动,在进行挖掘之前,我们需要选择一些工具挖到金子,之后再将金子转换成有价值的东西,这一过程被称为“The Gold Life Cycle”。将挖掘数据价值的过程与挖金子的过程进行类比,首先将数据看成金矿,在数据层面,可能需要做各种各样的事情,Data ScientistData Engineer等人均在数据价值挖掘中承担角色;再将MaxCompute Studio比作中国最常用,应用最广泛的工具“兵工铲”, 利用MaxCompute Studio挖掘数据的价值,之后再对数据进行加工,然后在阿里云提供的数加平台上享受大数据服务。之后,MaxCompute Studio会将UDFSQL等功能在阿里云数加平台上进行共享和同步。

101fbe6ae9166bee0ba6222cdd49ca46c21957e0

MaxCompute Studio—安装

下图展示了MaxCompute Studio的安装步骤。MaxCompute Studio基于IntelliJIDEA,同时支持PyCharmWebStorm等平台,同时MaxCompute Studio也可以很好的应用在IntelliJIDEA社区版本上。下载完IntelliJIDEA之后,需要安装插件,查找MaxCompute Studio进行安装,安装完插件之后,重启IntelliJIDEA。到这为止,MaxCompute Studio已经安装完毕了,可以开启你的MaxCompute之旅。

94495619e59f872b3cd9d22103bb5fe433dfe6f0

MaxCompute Studio—数据管理

下图展示MaxCompute Studio提供的数据管理功能(详情请见视频分享)。在安装完MaxCompute Studio之后,首先需要以已有的MaxCompute项目创建项目空间连接,但并不是指开通了MaxCompute Project的服务,只是进行了一个关联,可以在client端随时取消关联。建立项目空间连接后,即可在项目空间浏览器中查看相关的数据结构和资源信息。我们以MaxCompute账号登陆后,可以看到所有已经开通的项目,然后进行关联;之后通过项目管理器可以很方便的查看service及下面的project,表,function,资源文件等。双击一张表后,我们可以看到表的基本信息,schema等,如果是分区表,可以根据分区进行数据浏览,同时我们可以在分区预览时,进行数据导出及数据导入,Studio 可以将 CSVTSV 等格式的本地数据文件导入到 MaxCompute 表中,也可将 MaxCompute 中表数据导出数据到本地文件。MaxCompute Studio提供在资源管理器上进行refresh的操作,也就是说表的数据结构是缓存在本地的,因此无论我们处在离线或在线的情况都可以看到智能提示。MaxCompute Studio集成了其他工具,随着MaxCompute Studio的更新,会绑定更新console版本。MaxCompute Studio提供了更多的辅助工具,如果想要创建Table,除了写create table之外,MaxCompute Studio提供更多界面化的操作,例如创建外部表,建立索引等。

 9d586ed3dda82230f5b4407f2049836e29450f41

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开发。

cd23c4cc90891bdf2f9bd7808a98b34259e2de8f

MaxCompute Studio—UDF开发

 

下图展示MaxCompute Studio提供的UDF开发功能(详情请见视频分享)。UDF开发是我们必须进行并且需要有一些工具支撑它。虽然SQL的表达能力很强,但是有一些业务逻辑仍然需要使用编程语言或使用外部的库去处理,因此MaxCompute Studio的目标是帮助用户通过SQL语言完善表达能力,同时允许用户提供自己的UDF,例如UDAFUDTFUDJ等,将SQLUDF结合起来更好的满足数据挖掘的需要。在MaxCompute Studio中可以创建UDF,修改从模板中生成的代码,调用业务逻辑,然后进行本地的调试,同时也支持将线上的表中的数据重新拿回来调试。调试完成后,通过一键部署,打包成jar,上传到MaxCompute,注册UDF,在SQL中调用,完成本地编译和提交。用户可以在提交后可查看进度以及UDF的具体状况。另外,可以通过远程在线调试调整运行失败的代码。

95ce2872735aef2a5eaea656bfbdcd3fe44ac5a9

MaxCompute Studio—作业可视化分析

下图展示MaxCompute Studio提供的作业可视化功和分析功能(详情请见视频分享)。其实我们在之后的代码优化或是作业分析上会花一定时间。在作业分析方面,MaxCompute Studio提供了不同类型的作业热力图,可以按照时间的长短,读取的数据量,输出的数据量等不同的纬度展现作业的状态,这样我们可以有针对性的查看每个阶段存在的问题。作业回放是MaxCompute Studio的一把利器,对于某项作业,我们想知道它的运行状况,时间都花在了哪个阶段,这时候就可以采用作业回放重现作业执行过程,MaxCompute Studio允许用户回放作业执行进度的全过程,以便我们了解在哪个任务上花费了较长时间,哪个阶段处理数据或者输出数据最多等情况。我们还可以在执行计划中看到每个阶段或者全局的作业执行情况,查看正在执行的,等待执行的或者历史作业执行状况。切换到时序图tab,通过比较两个作业的执行timeline,我们能直观地了解作业执行状况,查看作业的执行路径,发现某个instance数据倾斜导致作业长尾等问题。

 fdf9fde546d49ba6945363be9488f18f88d69b7b

如需了解更多关于MaxCompute产品和技术信息,可加入“MaxCompute开发者交流”钉钉群;

群号11782920,或扫描如下二维码加入钉钉群。

2e8f30573ebc31cb0f98b66e9b15817213bf28cf

image

 

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
4月前
|
SQL 分布式计算 大数据
请问本地安装了大数据计算MaxCompute studio,如何验证联通性及基本DDL操作呢?
请问本地安装了大数据计算MaxCompute studio,如何验证联通性及基本DDL操作呢?
27 0
|
SQL 分布式计算 数据可视化
Maxcompute Studio 安装配置说明|学习笔记
快速学习 Maxcompute Studio 安装配置说明
172 0
|
SQL 分布式计算 数据可视化
MaxCompute Studio 安装配置说明 | 学习笔记
快速学习 MaxCompute Studio 安装配置说明
244 0
|
SQL 存储 分布式计算
MaxCompute studio 第一弹 - 元数据浏览
随着 MaxCompute 2.0 的发布,我们提供了MaxCompute Studio,一套基于IntelliJ IDEA的开发插件,让用户在集成开发环境(IDE)中更方便地进行SQL及用户代码开发。
1703 0
|
分布式计算 资源调度 MaxCompute
MaxCompute Studio使用心得系列7——作业对比
在数据开发过程中,我们通常需要将两个作业进行对比从而定位作业运行性能或者结果有差异的问题,但是对比作业时需要同时打开两个studio 的tab页,或者两个Logview页,不停切换进行对比,使用起来非常的不方便。
3981 0
|
SQL Web App开发 分布式计算
MaxCompute studio与权限那些事儿
背景知识 MaxCompute拥有一套强大的安全体系,来保护项目空间里的数据安全。用户在使用MaxCompute时,应理解权限的一些基本概念: 权限可分解为三要素,即主体(用户账号或角色),客体(表/资源/函数等),以及操作(与特定客体类型相关),详细参考 https://help.aliyun.com/document_detail/27935.html。
2129 0
|
SQL Web App开发 分布式计算
代码快速“检”“修”不是梦,阿里云MaxCompute Studio 2.9.0 新版本发布
阿里云MaxCompute Studio 2.9.0 新版本发布,此次发布的新版本,在原有功能的基础上增加了新功能,分别是支持代码检查和快速修复;支持graph开发及调试。
16381 0
|
分布式计算 测试技术 MaxCompute
|
分布式计算 DataWorks Java
MaxCompute studio FAQ
1. 如何联系studio开发同学? 2. Show Table Detail 中文乱码 原因是Intellij Appearance中使用的字符集不支持中文。需要在Appearance & Behavior -> Appearance 下使用支持中文的字符集(Microsoft YaHei)或改为Default,如下所示: 3. sql包含中文,提交后logview中文乱码 确认下你的intellij文件编码是不是UTF-8 4.studio的日志在哪里? 记录在idea.log里,可以通过Help --> Show Log in Finder 找到。
3491 0
|
SQL 分布式计算 机器人
MaxCompute Studio 使用入门
MaxCompute Studio 是MaxCompute 平台提供的安装在开发者客户端的大数据集成开发环境工具,是一套基于流行的集成开发平台 IntelliJ IDEA 的开发插件,可以帮助您方便地进行数据开发。下面我们一起来看一看Studio的简单用法。
3231 0

相关产品

  • 云原生大数据计算服务 MaxCompute