简介
Serverless Presto 基于 Apache Presto 提供了原生的交互式查询能力,支持用户通过 SQL 进行数据分析和 ETL 等操作。
EMR Serverless Presto 完全兼容开源 Presto 0.280 版本语法,详细语法请参考: Presto Documentation。
准备工作
- 已创建 EMR Serverless 队列。 具体操作可参考:创建资源队列。
- 已创建 Presto 计算组且拥有该计算组的Developer/Admin 权限,或拥有公共队列的 Developer/Admin 权限。
操作步骤
通过控制台提交作业
- 登录 EMR Serverless 控制台,选择目标队列。
- 进入编辑作业页面,有如下两种方式:
方式一:
- 在队列详情页中,点击作业提交,进入编辑作业页面。
方式二: - 在队列详情页中,点击计算组。
- 进入计算组列表页面,选择并进入目标计算组,在计算组详情页的右上角,点击创建作业,进入作业编辑页面。
- 在作业编辑框的右上角,开发类型选择 PrestoSQL。
- 在作业编辑框中进行 PrestoSQL 作业的编辑,编辑完成后,可通过编辑框左下角的格式化按钮,对编辑中的作业进行规范化。
- 完成 SQL 作业编辑后,您可以通过控制台右上角的队列和计算组来选择计算资源,完成后点击左下角的运行按钮,提交作业。
- 作业提交完成后,会弹出提交成功的标识,并在下方的查询日志中,会显示您本次提交的作业id,以及当前的任务状态,您可进一步在作业管理处查看详细任务情况。
- 任务提交到 Presto 集群之后,可以看到任务的提交日志和Tracking URL,点击 打开链接 跳转到 Presto UI 可以查看任务的详细执行信息。任务执行成功以后,会显示当前任务的查询结果。
通过 SDK 提交 PrestoSQL 作业
目前 EMR Serverless 支持 Java 和 Python 两类 SDK。Java SDK 使用方式请参考:Java Query SDK;Python SDK 使用方式请参考:Python Query SDK。
通过 JDBC 提交 PrestoSQL 作业
通过 JDBC 方式提交 PrestoSQL 时,必须指定 Presto计算组,Default 计算组不支持通过 JDBC 方式提交作业。使用方式请参考文档:JDBC 使用。