【实验】阿里云大数据助理工程师认证(ACA)- ACA认证配套实验-02-MaxCompute客户端配置(下)(二)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 【实验】阿里云大数据助理工程师认证(ACA)- ACA认证配套实验-02-MaxCompute客户端配置(下)(二)

4、使用Intellij IDEA管理数据和资源 (难度大,选做)


1、浏览表及UDF

(1) 浏览表和函数

要浏览项目空间的表和函数,使用以下步骤:


a)、打开 项目空间浏览器(Project Explorer) ,即可以查看已添加的 Project 节点树。


20200711112325961.png


节点树上方是工具栏,包括:


Ø 增加Project:新增一个到 MaxCompute 项目空间的连接


Ø 删除Project:删除一个项目空间浏览器中的项目连接,对服务器端项目空间无影响


Ø 刷新元数据:从服务器端项目空间刷新元数据信息,刷新本地元数据缓存


Ø 展开节点:展开全部树节点


Ø 折叠节点:折叠全部树节点


Ø 用户反馈:提交用户反馈


Ø 在线文档:打开在线文档


b)、双击或点击下拉箭头展开 Tables 节点,可列出该项目下的所有表(包括虚拟视图)。这里的表名列表与用户执行show tables命令相等,需要用户在project下有list table权限。函数(Functions)和资源(Resources)节点类似:

20200711112347542.png


c)、Studio 会将服务上的项目元数据下载到本地,当服务端元数据有更新时,如新增了一张表,需手动触发一次刷新,将变化的元数据重新加载到本地。 可以选择在项目(Project)或表(Table)级别做刷新,步骤如下:

    i、选中相应的节点;
    ii、点击工具栏上的刷新图标或在右键菜单中选择刷新菜单项。

20200711112421376.png


(2) 查看表详细信息


用户可以通过 Studio 的 表详情视图(Table Details View) 查看数据表相信信息

a)、在节点树中,展开个表名节点,可快速查看列名和类型:


20200711112440646.png



b)、双击某个表或右键菜单 Show Table Detail 可以查看表的详细信息,包括 owner,size,column 等元数据;表结构信息; 以及 data preview:


20200711112500485.png


C)、通过在Tables & Views右键菜单项 Open specific entity ,可以指定表名显示详情(注意要完整表名称)。


另外如果用户没有project的list权限,而只有具体某张表的权限,也可以通过这种方式将该表抓取下来。


函数(Functions)及资源(Resources)类似。

20200711112520682.png

Intellij IDE 默认支持搜索,可展开表后直接敲击键盘模糊搜索。

d)、当想知道某张表在哪些script中用到时,可以右键该表,使用Find Usages功能。

(3) 查看函数详细

a)、在 Functions 树节点下可以展开某个函数节点,以显示该函数的方法签名

20200711112544518.png


Python UDF解析签名需要安装pyodps(MaxCompute python sdk),具体的先安装pip: sudo /usr/bin/python get-pip.py


(请自行google下载get-pip.py),然后安装pyodps: sudo /usr/bin/python -m pip install pyodps。


需要注意的是mac系统自带一个python,位置在/usr/bin/python,请将pyodps安装在这个位置


b)、在 Functions 树节点下双击某个函数节点(或在 Resources 下双击改函数对应的源码资源)可打开该函数对应的的代码。


20200711112734256.png


2、导入导出表数据


Studio 可以将 CSV,TSV 等格式的本地数据文件导入到 MaxCompute 表中,也可将 MaxCompute 中表数据导出数据到本地文件。


Studio 是通过 MaxCompute 平台提供的批量数据通道(Tunnel)功能完成的


使用须知:


Ø 导入导出数据采用 MaxCompute Tunnel 服务,因此要求 Studio 中添加的 MaxCompute Project 必须开通或配置了 Tunnel服务。


Ø 导入导出表必须具备相应权限。


(1) 导入数据


a)、打开 项目空间浏览器(Project Explorer) 窗口,在表名上点击右键或在表详细页面的 Data Preview 中字段属性上右键,选择 Import Data Into Table。

20200711112755297.png


b)、在弹出的 Import Data 对话框中,选择导入数据文件的路径,列分隔符,大小限制,错误容忍行数等参数,点击按钮 OK。

20200711112814300.png


c)、提示 Import Data Success,表示数据导入成功,可在表中查看导入的数据。

(2) 导出数据

a) 启动导出表数据有两种方式:

方式一、在表名上右键,选择 Export Data From Table


2020071111283281.png


方式二、在表详细页面的Data Preview 中字段属性上右键,选择 **Export Data From Table

20200711112851858.png

b)、弹出Export Data对话框,选择导出数据文件的保存路径,列分隔符,大小限制,错误容忍行数等,填写完成后点击OK。

20200711112911906.png

c)、提示 Export Data Success,表示数据导出成功,可在目标文件中看到导出的数据。

d)、用户也可以在 Table 的 Data Preview 窗格中选择右键菜单 Export Grid Data 导出数据。

2020071111293129.png


5、使用Intellij IDEA开发SQL程序(难度大,选做)


1、创建 MaxCompute Script Module


开发MaxCompute Script前,需要创建一个MaxCompute Script Module,有两种方式创建:


方式一、本地没有script文件,可通过Intellij创建一个全新的Module。


a)、 File | new | project… 选择module类型MaxCompute Studio,点击Next:

20200711112953366.png

b)、输入项目名,点击Finish:

c)、至此,一个能开发脚本的MaxCompute studio工程已建立,如下图:

20200711113311474.png


方式二、本地某个文件夹下已经有很多script,譬如从服务器上下载下来的,此时需要用studio来编辑这些script时,可以直接打开一个Module。


a)、在script文件夹下创建一个MaxCompute的连接配置文件odps_config.ini,在里面配置与MaxCompute连接的鉴权信息:

20200711113334716.png


b)、在IDEA里File | open 选择您的script文件夹。

20200711113352264.png

c)、Studio会探测该文件夹下是否存在odps_config.ini文件,根据这个文件里的配置信息抓取服务端的meta,然后编译文件夹下的所有script。


2、编写 SQL 脚本


MaxCompute Studio 模块创建完成后,就可以开始编写MaxCompute SQL脚本了,具体步骤如下:


a) 在scripts目录右键,选择 New | MaxCompute Script File:

20200711113411903.png


b)、在弹出的New MaxCompute SQL Script对话框中输入脚本名和绑定的MaxCompute 项目,


下拉框中的项目列表是从MaxCompute Project Explorer窗口中添加的,点击OK。用户也可以点击+,添加MaxCompute 项目连接


20200711113434219.png

c)、在打开的Script Editor中编写sql,Studio提供语法高亮,智能提醒,错误提示等功能。

20200711113453317.png


3、提交 SQL 脚本


Studio 可直接将 MaxCompute SQL 提交到服务端运行,并显示查询结果,执行计划等详细信息。Studio 提交前会进行编译,能够有效避免提交到服务端后才发现编译错误。


使用须知


Ø 首先创建 MaxCompute 项目连接,并绑定目标项目。


Ø 创建 MaxCompute Studio Module。


提交前设置


Studio提供了丰富的设置功能,可在Editor编辑页面上方的Tool Bar工具栏中快速设置。设置主要分为三类:

编辑器模式:编译器模式设定包括两种模式,脚本模式和单步模式。


Ø 单步模式会将提交的脚本文件按;分隔,逐条提交到服务端执行。


Ø 脚本模式为最新开发模式,可将整条脚本一次提交到服务端,由服务端提供整体优化,效率更高,推荐使用。


· 类型系统:类型系统主要解决SQL语句兼容性问题,分为:


Ø 旧有类型系统:原有 MaxCompute 的类型系统


Ø MaxCompute类型系统:MaxCompute 2.0 引入的新的类型系统。


Ø Hive类型系统:MaxCompute 2.0 引入的 Hive 兼容模式下的类型系统


· 编译器版本:Studio提供稳定版编译器和实验性编译器两种模式。


Ø 默认编译器:稳定版本。


Ø 实验性编译器:包含编译器最新特性,尝鲜使用。


ToolTips:脚本提交设置可采用全局设定,打开File | Settings | MaxCompute | MaxCompute SQL,其中Compiler | Submit中可以设置以上属性。


提交SQL脚本


a) Editor上方工具栏中提供同步,编译,提交功能。


Ø 同步功能:更新sql脚本中使用的元数据,包括表名、UDF等。如果studio提示表或函数找不到,而服务端又明确存在时,可尝试使用该功能更新元数据。


Ø 编译、提交:按MaxCompute SQL预发规则编译或提交到服务端,编译错误会在MaxCompute Compiler窗口中显示详细信息。


b) 点击工具栏上的绿色运行图标,或者在Script Editor中右键选择Run MaxCompute SQL Script,即可提交到服务端。当sql中存在变量时(如下图的${bizdate}),会弹出对话框,让你输入变量值。


c) 脚本会先被本地编译(依赖于你在Project Explorer窗口中添加的项目元数据),无编译错误后就会提交到服务端执行。Studio提供了几个窗口来显示执行的详细信息:


Ø MaxCompute Compiler窗口:显示脚本的编译详情。


Ø Compile Result主窗口:显示脚本的SQL statement和POT图(脚本处于running状态时可以点左上角的cancel按钮来终止)。当提交多条SQL语句时,会产生多个Statement,点击某个Statement图,下面的MaxCompute Job窗口显示的就是该语句对应的运行日志。右侧的POT图可双击查看其详细执行计划。


MaxCompute Job窗口:日志标签页->显示脚本当前的执行进度日志;结果标签页->显示脚本的执行结果(如果有执行结果的话)。


6、使用Intellij IDEA开发Java程序 (难度大,选做)

1、创建 MaxCompute Java Module


MaxCompute Studio能支持用户开发java UDF和MR,首先需要新建一个MaxCompute Java Module。


a) 创建module


依次点击 File | new | module module类型为MaxCompute Java,配置Java JDK。点击next,输入module名,点击finish。


studio会帮用户自动创建一个maven module,并引入MaxCompute相关依赖,具体请查看pom文件。

20200711113549596.png

20200711113606160.png

b)、 module结构说明


至此,一个能开发MaxCompute Java程序的module已建立,主要目录包括:


Ø src/main/java:用户开发java程序源码。


Ø examples:示例代码,包括单测示例,用户可参考这里的例子开发或编写UT。


Ø warehouse:本地运行时需要的schema和data。


2、开发UDF


开发UDF


a) 在module的源码目录即src->main上右键new, 选择MaxCompute Java。输入类名,如myudf.PlusHello,选择类型,这里我们选择UDF,点击OK。

20200711113633291.png

b) 模板已自动填充框架代码,只需要编写UDF的入参出参,以及函数逻辑。

20200711113651252.png

调试


UDF开发好后,下一步就是要测试自己的代码,看是否符合预期,我们支持两种方式:

单元测试:在examples目录下有各种类型的单测实例,可参考例子编写自己的UT。

20200711113711999.png


Ø 本地运行UDF:本地运行时,需要指定运行数据源,有两种方式设定测试数据源:


Studio通过Tunnel服务自动下载指定项目下的表数据到warehouse目录下,最多下载10000条数据。

提供Mock项目及表数据,用户可参考warehouse下example_project自行设置。

a) 运行UDF:在editor中UDF类上右键,点击”运行”菜单,弹出run configuration对话框。UDF|UDAF|UDTF一般作用于select子句中表的某些列,因需要配置MaxCompute project,table和column(元数据来源于project explorer和warehouse下的Mock项目)。

20200711113731507.png

b) 点击ok,如果指定项目下的表数据未被下载到warehourse中,则首先下载数据,如果采用Mock项目或已被下载则直接运行。


UDF的local run框架会将warehouse中指定列的数据作为UDF的输入,开始本地运行UDF,用户可以在控制台看到日志输出和结果打印。

2020071111380067.png



2020071111380067.png


关于本地运行的warehouse目录:本地warehouse用于存储表(包括meta和数据)或资源,用于本地执行UDF或MR。


warehouse目录下依次是项目名,tables,表名,表schema和sample data。


3、开发MapReduce


开发MR


a) 在module的源码目录即src->main上右键new,选择MaxCompute Java。


b) 分别创建Driver,Mapper,Reducer。

20200711113821647.png


c) 模板已自动填充框架代码,只需要设置输入/输出表,Mapper/Reducer类等即可。

调试MR

MR开发好后,下一步就是要测试自己的代码,看是否符合预期,我们支持两种方式:

单元测试:在examples目录下有WordCount的单测实例,可参考例子编写自己的UT。

20200711113840639.png


本地运行MR:本地运行时,需要指定运行数据源,有两种方式设定测试数据源:


· studio通过tunnel服务自动下载指定MaxCompute project的表数据到warehouse目录下,最多下载10000条数据。


· 提供mock项目(example_project)及表数据,用户可参考warehouse下example_project自行设置。


a)、运行MR: 在Driver类上右键,点击”运行”菜单,弹出run configuration对话框,配置MR需要在哪个MaxCompute Project上运行即可。

20200711113859352.png

b)、点击ok,如果指定MaxCompute project的表数据未被下载到warehourse中,则首先下载数据;


如果采用mock项目或已被下载则跳过。接下来,MR local run框架会读取warehouse中指定表的数据作为MR的输入,


开始本地运行MR,用户可以在控制台看到日志输出和结果打印。


7、与MaxCompute客户端集成


MaxCompute Studio集成了MaxCompute客户端程序,可在Studio中直接打开客户端。


配置客户端安装路径


Studio中已包含最新版MaxCompute客户端程序,并指定为默认客户端。用户也可自行指定其他版本客户端程序,

设置位置为:Intellij Settings | MaxCompute Studio | SDK & Console 中添加客户端程序跟路径。

20200711113929578.png

2. 设置成功后会显示MaxCompute客户端版本信息。

3.


20200711113948575.png

4. 打开MaxCompute客户端

设置MaxCompute客户端安装路径成功后,就可以在Studio中打开客户端程序。

1、在项目浏览列表中,选中要打开的项目,右键菜单中点击Open in Console。

20200711114008254.png

2、用户可以打开多个客户端程序,操作步骤同上


20200711114026760.png


####8、配置MaxCompute Studio

MaxCompute Studio 配置选项页


MaxCompute Studio 配置选项页提供以下配置项:


本地元数据仓库存储路径 指定在本地存储 MaxCompute 项目空间元数据的路径。Studio 的缺省设置是本地用户目录下的 .odps.studio/meta 这个隐含目录。


版本更新选项


· 复选框 Automatically checks for new version 可以控制 Studio 是否自动检查新版本更新


· 按钮 Check new versions 用于手动检查新版本。 点击检查新版本按钮后,如果有新版本可以更新,将显示 Install new version 按钮,


点击可以安装,安装完成后需要重启 IntelliJ IDEA。


SDK & Console 配置选项页


SDK & Console 配置选项页面提供以下配置项:


MaxCompute 客户端安装路径

指定本地安装的 MaxCompute 客户端的安装路径。 Studio 会检测路径中安装的 MaxCompute 客户端的版本,如果检测失败,会提示错误信息。


Studio 2.6.1 之后的版本自带了最新的 MaxCompute 客户端,用户不用特别指定。 如果用户希望使用自己特定版本的 MaxCompute客户端,可以指定路径。


MaxCompute SQL 配置选项页


MaxCompute SQL 配置选项页面提供以下配置项:


启动语法高亮 勾选 Enable syntax coloring 选项,启动语法高亮功能。


启动代码自动补全 勾选 Enable code completion 选项,启动代码自动补全功能。


启动代码格式化 勾选 Enable code formatting 选项,启动代码格式化功能。


编译器选项 在这里这是全局缺省的编译器选项。 以下选项还可以在 SQL 编辑器的工具栏上为每个文件单独设置。


· 编译器模式(Compiler Mode)


o 单句模式(Statement Mode):在该模式下,编译器对 SQL 文件单条语句作为单元进行编译、提交


o 脚本模式(Script Mode):在该模式下,编译器对整个 SQL 文件作为单元进行编译、提交。 (注:脚本模式有利于编译器和优化器更大程度地优化执行计划,提高整体执行效率,目前处于测试阶段)


· 类型系统


o 旧有类型系统(Legacy TypeSystem):原有 MaxCompute 的类型系统


o MaxCompute 类型系统(MaxCompute TypeSystem):MaxCompute 2.0 引入的新的类型系统


o Hive 类型系统(Hive Compatible TypeSystem):MaxCompute 2.0 引入的 Hive 兼容模式下的类型系统


· 编译器版本


o 默认编译器(Default Version):默认版本的编译器,


o 实验性编译器(Flighting Version):实验性的版本的编译器,包含正在测试中的编译器的新特性


Account 配置选项页


Account 配置选项页面提供添加和管理用户用于访问 MaxCompute 所用账户,参考 用户认证:


Studio 需要通过用户指定的账号访问 MaxCompute 的项目空间和执行提交作业等操作,目前 Studio 支持的账号类型有:


· 阿里云账号(AccessKey)


添加账户


在 Account 配置选项页面,执行以下步骤:


点击按钮 + 或者快捷键 Ctrl-N


选择账户类型 Aliyun Account by AccessKey


在弹出的 Add Account 窗口中填入:


· Account Name: 改账户在 Studio 中的标识名称


· Using properties file: 从配置文件中读取 AccessKey ID 和 AccessKey Secret


o 选择一个在 用户认证 中 conf/odps_config.ini 示例的配置文件


· Using properties: 手工填入 AccessKey ID 和 AccessKey Secret


o Access Id: 填入用户阿里云账号的 AccessKey ID


o Access Key:填入用户阿里云账号的 AccessKey Secret

202007111140529.png

点击按钮 OK 完成添加。 添加完成后账号会出现在 Account 配置选项页面的 Account 列表里。

删除账户


在 Account 配置选项页面,执行以下步骤(该操作仅在 Studio 配置中删除账户配置,对用户账户本身不产生影响):


在 Account 列表中选择要删除的账户名称


点击按钮 -


在弹出的的确认对话框中,选择 OK


修改账户 AccessKey


在 Account 配置选项页面,执行以下步骤:


在 Account 列表中选择要删除的账户名称


点击”铅笔”图标进行编辑


在弹出的 Edit Account 窗口中编辑 Account 信息,内容与上面的 Add Account 窗口类似

目录
相关文章
|
1月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
3月前
|
人工智能 分布式计算 DataWorks
连续四年!阿里云领跑中国公有云大数据平台
近日,国际数据公司(IDC)发布《中国大数据平台市场份额,2023:数智融合时代的真正到来》报告——2023年中国大数据平台公有云服务市场规模达72.2亿元人民币,其中阿里巴巴市场份额保持领先,占比达40.2%,连续四年排名第一。
239 12
|
3月前
|
人工智能 Cloud Native 数据管理
重磅升级,阿里云发布首个“Data+AI”驱动的一站式多模数据平台
阿里云发布首个AI多模数据管理平台DMS,助力业务决策提效10倍
394 17
|
3月前
|
SQL 人工智能 大数据
阿里云牵头起草!首个大数据批流融合国家标准发布
近日,国家市场监督管理总局、国家标准化管理委员会正式发布大数据领域首个批流融合国家标准GB/T 44216-2024《信息技术 大数据 批流融合计算技术要求》,该标准由阿里云牵头起草,并将于2025年2月1日起正式实施。
97 7
|
3月前
|
SQL 人工智能 大数据
首个大数据批流融合国家标准正式发布,阿里云为牵头起草单位!
近日,国家市场监督管理总局、国家标准化管理委员会正式发布大数据领域首个批流融合国家标准 GB/T 44216-2024《信息技术 大数据 批流融合计算技术要求》,该标准由阿里云牵头起草,并将于2025年2月1日起正式实施。
|
3月前
|
存储 SQL 分布式计算
Java连接阿里云MaxCompute例
要使用Java连接阿里云MaxCompute数据库,首先需在项目中添加MaxCompute JDBC驱动依赖,推荐通过Maven管理。避免在代码中直接写入AccessKey,应使用环境变量或配置文件安全存储。示例代码展示了如何注册驱动、建立连接及执行SQL查询。建议使用RAM用户提升安全性,并根据需要配置时区和公网访问权限。具体步骤和注意事项请参考阿里云官方文档。
363 10
|
3月前
|
机器学习/深度学习 数据可视化 大数据
阿里云大数据的应用示例
阿里云大数据应用平台为企业提供高效数据处理与业务洞察工具,涵盖Quick BI、DataV及PAI等核心产品。DT203课程通过实践教学,帮助学员掌握数据可视化、报表设计及机器学习分析技能,提升数据驱动决策能力。Quick BI简化复杂数据分析,DataV打造震撼可视化大屏,PAI支持全面的数据挖掘与算法应用。课程面向CSP、ISV及数据工程师等专业人士,为期两天,结合面授与实验,助力企业加速数字化转型。完成课程后,学员将熟练使用阿里云工具进行数据处理与分析。[了解更多](https://edu.aliyun.com/training/DT203)
|
4月前
|
机器学习/深度学习 分布式计算 BI
MaxCompute 与阿里云其他服务的协同工作
【8月更文第31天】在当今的数据驱动时代,企业需要处理和分析海量数据以获得有价值的洞察。阿里云提供了一系列的服务来满足不同层次的需求,从数据存储到高级分析。MaxCompute(原名 ODPS)作为阿里云的大规模数据处理平台,提供了强大的计算能力和丰富的功能,可以与阿里云的其他服务无缝集成,形成完整的大数据解决方案。本文将探讨 MaxCompute 如何与其他阿里云服务协同工作,包括存储服务 OSS、数据分析服务 Quick BI 以及机器学习平台 PAI。
58 1
|
4月前
|
存储 分布式计算 大数据
大数据革新在即,阿里云EMR如何布局DeltaLake引领行业潮流?
【8月更文挑战第26天】大数据时代,实时处理与分析能力对企业至关重要。Delta Lake 作为高性能、可靠且支持 ACID 事务的开源存储层,已成为业界焦点。阿里云 EMR 深度布局 Delta Lake,计划深化集成、强化数据安全、优化实时性能,并加强生态建设与社区贡献。通过与 Spark 的无缝对接及持续的技术创新,阿里云 EMR 致力于提供更高效、安全的数据湖解决方案,引领大数据处理领域的发展新方向。
53 3
|
4月前
|
存储 分布式计算 大数据
阿里云 EMR 强势助力,与阿里云大数据体系共创辉煌,把握时代热点,开启生态建设之旅
【8月更文挑战第26天】阿里云EMR(Elastic MapReduce)是一种大数据处理服务,与阿里云的多个服务紧密结合,共同构建了完善的大数据生态系统。EMR与对象存储服务(OSS)集成,利用OSS提供可靠、低成本且可扩展的数据存储;与MaxCompute集成,实现深度数据分析和挖掘;还支持数据湖构建服务,加速数据湖的搭建并简化数据管理与分析过程。EMR提供多种编程接口及工具,如Hive、Spark和Flink等,帮助用户高效完成大数据处理任务。
112 2

热门文章

最新文章