进入EMR -> Serverless Spark 控制台,在 Serverless Spark 的作业管理页面可以通过创建作业的入口创建 Spark SQL 或者 Spark Jar 作业。
跳转到创建作业的页面后,页面左边区域是当前租户下的库表信息,可以查看库、表、字段详情。整个页面的右半部分是创建并提交作业的区域,可以通过 Tab 菜单栏的添加按钮来新建 Tab 页,并通过选择开发类型来创建不同的作业内容。由于目前同一个账号最多只能存储 99 个 Tab 页,所以如果添加按钮处于置灰的状态,可以通过删除历史 Tab 页来使 Tab 标签页的总数量小于 99 从而新建。
整个 Tab 页区域的上方黑色区域为 SQL 代码编辑器的区域,可以在此区域进行正常的 SQL 代码编辑。使用 Spark 标准 SQL 语句进行开发,点击运行进行数据查询。关于Spark SQL 语法说明,请参考 Spark SQL 。
在完成代码的编辑工作后,可以通过右下方的格式化按钮来完成代码的格式化动作,格式化可以保证 SQL 代码书写风格的统一。
点击右下角的解析按钮即可触发编辑器的解析动作,来验证当前 SQL 的语法是否正确,解析失败的 SQL 无法正常运行。
点击右下角的运行按钮即可运行当前编辑器里编写的代码,运行过的代码将会在 历史记录 中,新生成一条记录。
在历史记录模块可以回看过去在此 Tab 下所有发起过的查询记录,切换不同的记录可以查看历史查询的 SQL 代码内容、日志以及结果。
点击代码按钮会切换到该条查询记录的查询代码的界面,可以在此界面查看查询作业提交的代码详情,方便更好的确认作业内容。
点击日志按钮会切换到该条查询记录的查询日志的界面,可以在此界面查看查询作业的日志记录以及查看 tracking_url 列表,并且可以查看到该条历史查询记录所关联的作业 task id,通过该 task id 可以在作业管理页面查询到该作业的更加详细的信息。
所有查询成功的记录均可以看到查询结果的按钮,可以通过点击结果标签来切换到查询结果界面,支持以表格形式呈现结果数据,以及对结果数据进行搜索。
所有查询成功的记录在有效期内(默认15天)均提供了下载查询结果的按钮,在查询结果界面也有下载按钮,可以直接以 CSV 的格式下载查询结果,方便使用其他工具更进一步分析查询结果。
为满足用户定制化数据查询分析的需求,Serverless Spark 提供了可视化提交 Spark Jar 作业的方式。但是提交 Spark Jar 作业之前,需要先拥有一个具有通用资源的资源队列,如果在您的资源队列列表中并没有此种队列,那就需要您新创建一个队列来使用。
新建 Tab 后,默认的开发类型为 Spark SQL,在编辑区域上方,提供开发类型选项,可以切换到 Spark Jar 的编辑页面。
其中,UI 模式字段名和 JSON 模式的字段 KEY 的对应关系如下:
UI 模式 | JSON 模式 | 是否必须 | 说明 | ||
---|---|---|---|---|---|
作业名称 | Name | Y | 作业名称 | ||
语言类型 | Language | Y | 作业的开发语言类型,暂时只支持 Java | ||
主类(Main Class) | MainClass | Y | 作业的主类 | ||
队列 | Queue | Y | 运行作业的队列 | ||
资源文件 | MainFile | Y | 作业主文件资源 | ||
依赖 Jar(Jars) | DependJars | N | 额外依赖的 Jar 资源文件 | ||
其他依赖文件(Files) | DependFiles | N | 额外依赖的 File 资源文件 | ||
Spark参数(Spark Conf) | Conf | N | Spark Conf 相关参数 | ||
自定义参数(Main Conf) | MainArgs | N | 作业主类的自定义入参 |
作业信息编辑完成后,即可点击提交按钮,提交成功后会在页面顶部显示一个 toast 信息进行提示,随后页面会自动跳转到作业管理页并筛选出该 Spark Jar 作业。
Spark Jar 作业提交成功后,您可以在作业管理页查看作业信息,并进行查看日志、查看 Spark UI、重跑、终止作业等操作。您也可以直接进入作业管理页并通过作业类型筛选按钮筛出 Spark Jar 作业,从而查看刚提交的作业任务。
当编辑后的 Spark Jar 作业提交运行成功后,创建作业页面会自动删除对应的 Tab 标签页,如果用户需要重新编辑相关作业内容,可以直接在作业管理页点击该作业进入作业详情,直接将作业内容复制到创建作业页面,以 JSON 编辑模式在新建的 Tab 标签页进行重新编辑和提交。