您可以通过创建EMR(E-MapReduce) Spark SQL节点,实现分布式SQL查询引擎处理结构化数据,提高作业的执行效率。
前提条件
EMR引擎类型包括新版数据湖(DataLake)及Hadoop,不同类型引擎创建节点前需执行的准备工作不同。您需要根据实际情况完成EMR侧及DataWorks侧的准备工作。- DataLake:详情请参见DataLake集群配置、DataWorks配置。
- Hadoop:Hadoop集群开发前准备工作。
使用限制
- 仅支持使用独享调度资源组运行该类型任务。
- DataWorks目前已不支持新绑定Hadoop类型的集群,但您之前已经绑定的Hadoop集群仍然可以继续使用。
操作步骤
- 进入数据开发页面。
- 登录DataWorks控制台。
- 在左侧导航栏,单击工作空间列表。
- 选择工作空间所在地域后,单击相应工作空间后的数据开发。
- 创建业务流程。如果您已有业务流程,则可以忽略该步骤。
- 鼠标悬停至
图标,选择新建业务流程。
- 在新建业务流程对话框,输入业务名称。
- 单击新建。
- 鼠标悬停至
- 创建EMR Spark SQL节点。
- 使用EMR Spark SQL节点进行数据开发。
- 编辑高级设置。不同类型EMR集群涉及配置的高级参数有差异,具体如下表。
集群类型 高级参数 新版数据湖(DataLake) - “queue”:提交作业的调度队列,默认为default队列。关于EMR YARN说明,详情请参见队列基础配置。
- “priority”:优先级,默认为1。
- “FLOW_SKIP_SQL_ANALYZE”:SQL语句执行方式。取值如下:
true
:表示每次执行多条SQL语句。false
:表示每次执行一条SQL语句。
说明 该参数仅支持用于数据开发环境测试运行流程。 - “ENABLE_SPARKSQL_JDBC”:提交SQL代码的方式。取值如下:
true
:表示采用JDBC的方式提交SQL代码。当EMR集群无Kyuubi服务时,提交SQL代码至Spark Thrift-Server,当EMR集群有Kyuubi服务时,则通过JDBC方式提交SQL代码至Kyuubi。两种方式均支持元数据血缘,但提交至Thrift-Server的任务会缺少元数据对应节点任务的产出信息。
false
:表示采用Spark-submit cluster方式提交SQL代码。此提交方式下,Spark2和Spark3均支持元数据血缘和产出信息。说明- Spark-submit cluster提交方式默认在EMR集群HDFS的
/tmp
目录下创建临时文件及目录,您需要保证目录具有读写权限。 - 当选择Spark-submit cluster方式提交时,您可以直接在高级配置里追加自定义SparkConf参数。提交代码时DataWorks会自行在命令中加上新增的参数。例如,
"spark.driver.memory" : "2g"
。
- Spark-submit cluster提交方式默认在EMR集群HDFS的
false
。
数据湖(Hadoop) - “queue”:提交作业的调度队列,默认为default队列。关于EMR YARN说明,详情请参见队列基础配置。
- “vcores”: 虚拟核数,默认为1。
- “memory”:内存,默认为2048MB(用于设置启动器Launcher的内存配额)。
- “priority”:优先级,默认为1。
- “FLOW_SKIP_SQL_ANALYZE”:SQL语句执行方式。取值如下:
true
:表示每次执行多条SQL语句。false
:表示每次执行一条SQL语句。
- “USE_GATEWAY”:设置本节点提交作业时,是否通过Gateway集群提交。取值如下:
true
:通过Gateway集群提交。false
:不通过Gateway集群提交,默认提交到header节点。
说明 如果本节点所在的集群未关联Gateway集群,此处手动设置参数取值为true
时,后续提交EMR作业时会失败。
- 任务调度配置。如果您需要周期性执行创建的节点任务,可以单击节点编辑页面右侧的调度配置,根据业务需求配置该节点任务的调度信息:
- 配置任务调度的基本信息,详情请参见配置基础属性。
- 配置时间调度周期、重跑属性和上下游依赖关系,详情请参见时间属性配置说明及配置同周期调度依赖。说明 您需要设置节点的重跑属性和依赖的上游节点,才可以提交节点。
- 配置资源属性,详情请参见配置资源属性。访问公网或VPC网络时,请选择与目标节点网络连通的调度资源组作为周期调度任务使用的资源组。详情请参见配置资源组与网络连通。
- 提交并发布节点任务。
- 单击工具栏中的
图标,保存节点。
- 单击工具栏中的
图标,提交节点任务。
- 在提交新版本对话框中,输入变更描述。
- 单击确定。
如果您使用的是标准模式的工作空间,任务提交成功后,需要将任务发布至生产环境进行发布。请单击顶部菜单栏左侧的任务发布。具体操作请参见发布任务。 - 单击工具栏中的
- 查看周期调度任务。
- 单击编辑界面右上角的运维,进入生产环境运维中心。
- 查看运行的周期调度任务,详情请参见查看并管理周期任务。
如果您需要查看更多周期调度任务详情,可单击顶部菜单栏的运维中心,详情请参见运维中心概述。