EMR Spark Streaming节点用于处理高吞吐量的实时流数据,并具备容错机制,可以帮助您快速恢复出错的数据流。本文为您介绍如何创建EMR Spark Streaming节点并进行数据开发。

前提条件

  • 您已创建阿里云EMR集群,且集群所在的安全组中入方向的安全策略包含以下策略。
    • 授权策略:允许
    • 协议类型:自定义 TCP
    • 端口范围:8898/8898
    • 授权对象:100.104.0.0/16
  • 您在DataWorks工作空间的配置页面添加了E-MapReduce计算引擎实例后,数据开发页面才会显示EMR目录。详情请参见配置工作空间
  • 准备资源组。

    购买独享调度资源组,详情请参见新增和使用独享调度资源组

使用限制

  • EMR Spark Streaming节点仅支持使用独享调度资源组。
  • 如果您使用的独享调度资源组和EMR集群是6月10号之前创建的,则需要提交工单升级相关组件。

创建EMR Spark Streaming节点并进行数据开发

  1. 进入数据开发页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  2. 创建业务流程
    如果您已有业务流程,则可以忽略该步骤。
    1. 鼠标悬停至新建图标,选择业务流程
    2. 新建业务流程对话框,输入业务名称
    3. 单击新建
  3. 创建EMR Spark Streaming节点。
    1. 鼠标悬停至新建图标,单击EMR > EMR Spark Streaming
      您也可以找到相应的业务流程,右键单击目标业务流程,选择新建 > EMR > EMR Spark Streaming
    2. 新建节点对话框中,输入节点名称,并选择节点类型目标文件夹
      说明 节点名称必须是大小写字母、中文、数字、下划线(_)和小数点(.),且不能超过128个字符。
    3. 单击提交,进入EMR Spark Streaming节点编辑页面。
  4. 使用EMR Spark Streaming节点进行数据开发。
    1. 选择目标EMR引擎。
      在节点编辑页面的EMR引擎实例列表,选择需要使用的目标EMR引擎。
    2. 编写作业代码。
      在EMR Spark Streaming节点的编辑页面,输入需要执行的作业代码。代码格式示例如下。
      spark-submit --master yarn-cluster --executor-cores 2 --executor-memory 2g --driver-memory 1g --num-executors 2 --class com.aliyun.emr.example.spark.streaming.JavaLoghubWordCount /tmp/examples-1.2.0-shaded.jar <logService-project> <logService-store> <group> <endpoint> <access-key-id> <access-key-secret>
      • spark-submit为创建EMR Spark Streaming节点后自动生成,您无需手动输入。
      • /tmp/examples-1.2.0-shaded.jar为您实际需要执行的任务代码所生成的JAR包。具体的任务代码示例,详情请参见实时Spark Streaming消费示例
        说明 目前您的任务JAR包仅支持两种存放路径,一种是存放在EMR集群的master机器中,另一种是存放在对象存储服务(Object Storage Service,OSS)中,推荐您使用OSS进行存放。使用OSS存放JAR包,详情请参见OSS使用流程
      • access-key-idaccess-key-secret需要替换为您所使用的阿里云账号的AccessKey ID及AccessKey Secret。您可以登录DataWorks控制台,鼠标悬停至顶部菜单栏右侧的用户头像,进入AccessKey管理,获取AccessKey ID及AccessKey Secret。
      更多Spark Streaming的参数,详情请参见Spark文档
    3. 配置调度资源组。
      • 单击工具栏中的高级运行图标,在参数对话框中选择需要使用的调度资源组。
      • 单击确定
    4. 保存并运行任务。
      在工具栏中,单击保存图标,保存节点任务,单击运行图标,运行节点任务。
  5. 任务调度配置。
    如果您需要周期性执行创建的节点任务,可以单击节点编辑页面右侧的配置,根据业务需求配置该节点任务的调度信息:
    • 配置任务调度的基本信息,详情请参见基础属性
    • 配置任务调度的时间周期。

      您可以选择任务的启动方式及出错重跑属性,详情请参见配置时间属性

    • 配置资源属性,详情请参见配置资源属性
  6. 提交并发布节点任务。
    1. 单击工具栏中的保存图标,保存节点。
    2. 单击工具栏中的提交图标,提交节点任务。
    3. 提交新版本对话框中,输入变更描述
    4. 单击确认
    如果您使用的是标准模式的工作空间,任务提交成功后,需要将任务发布至生产环境进行发布。请单击右上方的任务发布。具体操作请参见发布任务
  7. 查看实时计算任务。
    1. 单击编辑界面右上角的运维,进入运维中心。
    2. 查看运行的实时计算任务,详情请参见实时计算任务