当前位置: 代码迷 >> 综合 >> MaxCompute Studio 使用入门
  详细解决方案

MaxCompute Studio 使用入门

热度:86   发布时间:2023-12-22 17:22:05.0

MaxCompute Studio 是MaxCompute 平台提供的安装在开发者客户端的大数据集成开发环境工具,是一套基于流行的集成开发平台 IntelliJ IDEA 的开发插件,可以帮助您方便地进行数据开发。下面我们一起来看一看Studio的简单用法。

用户登录

Studio提供用户登录功能。常规登录入口在Intellij toolbar中右上角的Sign In。登录完成后可直接使用答疑机器人、添加D2项目、同步D2等功能。

lALPBY0V40k_xkzNAorNAtw_732_650.png

答疑机器人

点击右侧“FAQ Robot”按钮,进入答疑机器人页面,如下图所示。答疑机器人支持自助答疑和人工答疑两种方式,支持图片和文件上传,如果对自助答疑的结果不满意,可以在聊天框发送“人工”呼叫ODPS值班同学。或者直接发送图片或文件唤起人工服务。

lALPBY0V40lDYU3NAkPNAeE_481_579.png

资源管理

Studio 的一大核心功能就是浏览 MaxCompute 项目空间(Project)的资源,包括 TableUDFResource 等。为了能够在 Studio 中访问它们,以及其它很多功能,我们首先需要在新建项目连接。在Project Explorer中点击"+"添加连接,目前Studio支持同步D2项目和通过accessId/Key添加项目连接。

lALPBY0V40lDY4hwzQEE_260_112.png

建立项目空间连接后,可以浏览Table&View、Function、Resource等项目资源,双击对应的元素可以在Intellij中查看资源详情。

lALPBY0V40nG8abMiM0BHw_287_136.png_620x1

Table

双击打开某个table,如下图所示。有两个tab页面,“表信息”页面如下如所示,该页面展示table的基本信息、schema信息,提供数据预览功能。

lALPBY0V40nG853NAf7NBYE_1409_510.png

选择对应的分区,设置预览行数,点击“预览”按钮可以进行数据预览。同时,右键点击表头支持数据导入/导出功能。
lALPBY0V40nKBHXNAQPNBF8_1119_259.png
“分区信息”页面如下所示,显示分区的详细信息,提供分区的查询、刷新功能。同时提供导出分区信息、分区数据导入导出等功能。
lALPBY0V40nKAqnNAhnNBV8_1375_537.png
在project explorer中右键点击某张表,可以看到建表、改表、数据操作等一系列比较实用的功能。
lALPBY0V40oK-arNAZTNAU0_333_404.png
在Studio中不光可以通过写SQL进行DDL相关的操作,也可以通过可视化界面创建和修改table:Project Explorer中右键点击项目名称或者“Table & Views”选择“Create a new table”进行建表操作。
lALPBY0V40oOK97Mq80BEQ_273_171.png_620x1
lALPBY0V40oOLGTNAobNAqI_674_646.png
右键点击某个table选择“open table editor”可以对表信息进行相应修改,如下图所示,Studio可以将用户操作转化为对应的SQL语句。
lALPBY0V40oOLbrNAobNAqI_674_646.png

Functions

Functions分为BuiltIn Function和UserDefied Function, 双击对应的function可以展开详情:
lALPBY0V40oULn7NAWnNA3g_888_361.png
lALPBY0V40oULzPNAdbNAxo_794_470.png
可以通过如下途径添加Function:
lALPBY0V40o8akPNAhLNAvQ_756_530.png

Resources

双击对应的resource,可以在editor中打开文件。对于UDF文件数大于5的情况,只打开前5个class。
lALPBY0V40oUL-DM3c0CXA_604_221.png
可以通过如下途径添加resource:
lALPBY0V40o8azHNAVfNAiA_544_343.png

SQL编辑器与作业提交

如何帮助用户高效愉快的编写SQL是MaxCompute studio的核心使命,下面就让我们来一起看一下SQL编辑器的使用。首先需要创建一个MaxCompute Script Module,如下图所示:
lALPBY0V40oXXT3NAejNAo4_654_488.png
lALPBY0V40oXXcXNAhvNAzA_816_539.png
Module创建完成后,新建SQL脚本文件如下图所示。
lALPBY0V40oaQRvNAZfNAlc_599_407.png
最后双击SQL文件就可以进行我们的脚本开发了,这里可以自己设置模式(单句模式|脚本模式)、系统类型(旧有系统类型|MaxCompute系统|Hive系统)、编译器类型(默认编译器|实验性编译器)等。右上角需要选择对应的project。
lALPBY0V40oaQt7NAizNBCg_1064_556.png
下图所示三个按钮分别表示将SQL同步到D2,在Cosonle中打开ODPS CMD,打开SQL History。
lALPBY0V40odUDdVzQKX_663_85.png
SQL编辑完成后,点击下方的graph tab按钮,可以显示该SQL的执行计划,双击Task节点会展开对应的Operator级别的信息。
lALPBY0V40ogRLjNAjPNAj0_573_563.png
点击绿色的提交按钮,Studio会先编译脚本,编译通过后提交Server后显示运行信息并打开Job分析页面,如下图所示:
lALPBY0V40ojYWTNA4TNBaA_1440_900.png

作业详情

上面我们说到了如何编辑SQL和提交作业,接下来一起看看如何查看作业详情。作业详情页可以通过多条路径打开,比如上面说到的提交作业,会自动打开作业详情页。其次通过Job Explorer也可以打开作业详情页,再有就是如果已经知道logview,可以通过logview打开作业详情页,如下图所示:
lALPBY0V40omMwbNAkvNAsI_706_587.png
作业详情页面分为两部分,左侧是作业的一些基本信息,右侧包含多个tab页,包含graph信息、时序图、详情、脚本、摘要、结果、分析等内容。下面对graph图、时序图、详情页和作业分析进行进一步介绍。
lALPBY0V40omNF_NAhHNBBg_1048_529.png

graph页面

graph页面展示作业的Job|Task|Operator三层结构。点击左上角的导航可切换不同level的视图,双击Job节点进入Task视图,双击Task节点进入Operator视图。
lALPBY0V40opc7rNAc3NAnE_625_461.png
lALPBY0V40opdCvNAc3NAnc_631_461.png
lALPBY0V40opdKDNAcbNAmY_614_454.png
graph页面用户可以通过鼠标滚轮或者左侧缩放按钮对图像进行缩放,同时提供鹰眼和拖拽等功能。点击task节点显示task级别信息,点击task之间连线显示schema信息。
lALPBY0V40opdkvM8c0BOA_312_241.png  lALPBY0V40opdqXM18zt_237_215.png
在task level视图中右键点击节点,选择"expand all"展开所有的operator。
lALPBY0V40osrA3NAVLNAb8_447_338.png
lALPBY0V40osrLrNAcTNAmY_614_452.png
同时,单击table节点会显示table的基本信息和分区信息,双击table节点会跳转到对应的table详情页。
lALPBY0V40osrV54zOA_224_120.png_620x1000

时序图

时序图画的是所有Fuxi Instance的甘特图,通过时序图可以对作业的运行时间等进行详细的分析,左侧的Filter可以对instances进行过滤,鼠标悬停到对应的instance上会显示对应的信息,双击则会跳转到"详情”tab页并选中对应的instance,对用户分析十分方便。同时时序图支持缩放功能。
lALPBY0V40ov133NAuHNA-8_1007_737.png

详情页

详情页展示的是Task级别和Instance级别的详细信息。
lALPBY0V40ov2izNAmjNBAM_1027_616.png

作业分析页面

作业分析页面提供作业分析的结论,比如长尾节点、数据倾斜等。并提供散点图、长尾图和数据倾斜图供用户分析。
lALPBY0V40ozI4bNAcDNAoY_646_448.png

作业队列

Maxcompute 作业从提交到开始执行之前,需要经历很多状态,如:执行编译、优化、排队等待资源等。作业队列提供了查看当前详细状态的功能。对于正在排队等待调度的作业,可也从队列窗口中查看排队位置和前序作业等信息。点击"Job Explorer"打开作业队列页面,该页面提供了项目名称、状态、日期等Filter,选择对应的条件后会得到对应的作业队列,双击某一个作业会打开对应的作业详情页面。
lALPBY0V40o2JNfNAbXNAqk_681_437.png

?本文作者:天辰92
  相关解决方案