Data Studio支持可视化创建并管理EMR Jar和File资源,创建的资源可用于创建自定义函数或在数据开发。本文将为您介绍如何创建并使用资源与函数。
前提条件
已注册EMR集群至DataWorks,创建资源与函数均基于EMR计算资源进行相关操作。
已完成资源文件的开发,文件可从本地上传或从OSS对象存储中获取。当通过上传OSS文件方式创建资源时,需满足以下条件。
已开通OSS并创建Bucket,将待上传文件存储至OSS Bucket中。需从指定Bucket中选择文件,因此,使用该方式创建资源前需先创建Bucket并上传相关文件。
已为操作上传文件的阿里云账号授予可访问和写入目标Bucket的权限。为避免权限限制,上传文件前需提前为相关操作账号进行授权。
进入资源管理
进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的 ,进入Data Studio。
在左侧导航栏单击资源管理按钮
,进入资源管理页面。
在资源管理页面,单击
按钮进行新建资源或函数。您也可以先新建目录,规划资源管理目录后,再在相应目录上右键,选择新建,选择需要创建的资源或函数类型。
创建并使用资源
资源说明
在Data Studio资源与函数管理中,支持创建的资源如下表所示,您可将创建的资源存储在OSS或HDFS内,并在数据开发和创建自定义函数中使用这些资源。
通过上传EMR资源存储在OSS时,以及使用存储在OSS中的EMR资源时会产生OSS对象存储的基础费用。
资源类型 | 描述 | 支持的上传方式 | |
本地 | OSS | ||
EMR File | 支持将任意类型文件上传为File资源,实际使用时请以各引擎支持情况为准。 | ||
EMR Jar | 编译好的Java JAR包,用于运行Java程序。后缀为 |
使用限制
上传资源需符合以下限制:
资源大小:最大支持上传500MB的资源。
资源发布:若您使用的是标准模式的工作空间,则需将资源发布至生产环境。发布后,生产环境的项目才会存在该资源。
说明开发环境和生产环境的数据源信息存在差异,查询对应环境的表、资源等操作前,请先确认相应环境的数据源信息。
资源管理:DataWorks仅支持查看与管理通过DataWorks上传的资源。
创建资源
EMR资源支持本地上传和OSS上传,创建好的该资源可直接在数据开发中引用,也可以创建为函数使用。
在资源管理页面,创建资源打开新建资源和函数弹窗时,配置资源的类型、存储的路径以及资源名称。
新建资源完成后,需要在资源内上传OSS对象存储或本地文件,作为文件来源,以下为上传资源的时的关键参数:
配置项
配置说明
文件来源
目标文件的来源,包括本地和OSS两种来源。
文件内容
如果您选择本地,在上传文件中单击点击上传即可上传本地文件。
如果您选择OSS,在选择文件下拉框中选择OSS文件。
存储路径
为该资源选择存储的路径,包括OSS和HDFS两种存储类型:
如果您选择OSS,需要先授权再选择目录的位置。
说明需要主账号在此处进行授权操作。
如果您选择HDFS,需要手动输入存储路径。
例如:
/user/admin/[具体路径]
。
说明目前您的任务JAR包仅支持如下两种存放路径:
JAR包存放在EMR集群的Master机器中。
JAR包存放在对象存储服务(Object Storage Service,OSS)中。推荐您使用OSS进行存放,使用OSS存放JAR包。
数据源
选择上传的EMR资源所属的数据源。
资源组
选择与EMR数据源连通性正常的Serverless资源组。
在上方工具栏对资源保存并发布,只有发布后的资源才能在数据开发中使用。
说明当使用Serverless资源组提交资源时,DataWorks平台将下发对应新建资源的任务到引擎侧执行,并打印执行过程的执行日志,如果资源提交过程中出现问题,您可以通过日志先自助排查。如果您目前无可用的Serverless资源组,请新增Serverless资源组。
使用资源
完成资源创建后,在左侧导航栏单击资源管理,然后找到目标资源或函数后,右键选择引用资源。引用资源成功后,会显示##@resource_reference{"资源名称"}
格式的代码。
例如,EMR MR
节点显示的样式为##@resource_reference{"example.jar"}
。各类型节点显示格式存在差异,请以实际界面为准。
除了直接使用资源外,还可以将资源创建为函数,再在开发节点中使用。
创建并使用函数
在创建函数之前,请确保已创建资源。
函数说明
在Data Studio资源与函数管理中,支持将资源注册为EMR函数。在数据开发或SQL查询中,您可以使用Hive提供的内建函数和创建的自定义函数。
创建函数
在资源管理页面,创建函数打开新建资源和函数弹窗时,配置下拉配置函数的类型、存储的路径以及函数名称。
单击确认,新建函数资源,并根据函数类型,配置函数的相关信息。
配置EMR函数前,需确保已将EMR集群在DataWorks内注册为了计算资源,并已上传创建EMR资源,以下为EMR函数关键配置说明。
参数
描述
函数类型
选择函数类型,包括MATH(数学运算函数)、AGGREGATE(聚合函数)、STRING(字符串处理函数)、DATE(日期函数)、ANALYTIC(窗口函数)和OTHER(其他函数)。
数据源
选择需要注册EMR函数的数据源。
EMR数据库
需要注册函数的EMR数据库。
资源组
选择与EMR数据源连通性正常的Serverless资源组。
类名
UDF函数的类名,格式为
资源名.类名
,需与JAR包中的实际类完全匹配。当资源类型为JAR时,配置的类名格式为
Java包名称.实际类名
,您可以在IntelliJ IDEA
中通过Copy Reference
语句获取。例如,
com.aliyun.emr.examples.udf
为Java包的名称,UDAFExample
为实际类名,则类名参数配置为com.aliyun.emr.examples.udf.UDAFExample
。资源列表
从下拉列表中选择本工作空间中已添加的资源,必填。
在上方工具栏对函数保存并发布,只有发布后的函数才能在数据开发中使用。
使用函数
函数创建完成并发布后,在数据开发或SQL查询中,可直接引用创建的函数。
在编辑数据开发节点时,在左侧导航栏单击资源管理,然后找到目标资源或函数后,右键选择引用函数。
引用函数成功后,在当前节点编辑页面快速生成自定义函数名称,例如:
example_function()
。在编辑SQL查询时,可直接使用已创建的函数。
SELECT example_function(column_name) FROM table;
管理资源与函数
通过Data Studio可视化方式上传的资源或创建函数后,在资源管理页面,可通过单击目标资源或函数,对资源或函数进行管理。
查看历史版本:单击资源或函数编辑页面右侧的版本按钮,您可查看、对比已保存或已提交的函数版本,获取不同版本的资源变更情况。
说明版本对比时,至少需选择两个版本进行比对。
删除资源或函数:鼠标右键单击目标资源或函数,选择删除按钮,删除资源或函数。
若需删除生产环境下该资源或函数,则需进行任务发布,将资源删除操作发布至生产环境,发布成功后,生产环境该资源函数才会同步删除。