使用Spark2x实现车联网车主驾驶行为分析
应用场景
本实践基于华为云MapReduce服务所编写,用于指导您了解MRS的基本功能,利用MRS服务的Spark2x组件,对车主的驾驶行为进行分析统计,得到用户驾驶行为的分析结果。
原始数据为车主的驾驶行为信息,包括车主在日常的驾驶行为中,是否急加速、急减速、空挡滑行、超速、疲劳驾驶等信息,通过Spark2x组件的强大的分析能力,分析统计指定时间段内,车主急加速、急减速、空挡滑行、超速、疲劳驾驶等违法行为的次数。
 
 
   本实践相关样例数据及程序以MRS 3.1.0版本为例,建议按照指定版本创建集群。
方案架构
Spark的应用运行架构如图1所示,运行流程如下所示:
- 应用程序(Application)是作为一个进程的集合运行在集群上的,由Driver进行协调。
- 在运行一个应用时,Driver会去连接集群管理器(Standalone、Mesos、YARN)申请运行Executor资源,并启动ExecutorBackend。然后由集群管理器在不同的应用之间调度资源。Driver同时会启动应用程序DAG调度、Stage划分、Task生成。
- 然后Spark会把应用的代码(传递给SparkContext的JAR或者Python定义的代码)发送到Executor上。
- 所有的Task执行完成后,用户的应用程序运行结束。
操作流程
本实践基本操作流程如下所示:
- 步骤1:创建MRS集群:创建一个分析集群,版本号为MRS 3.1.0,不启用Kerberos认证。
- 步骤2:准备样例程序和数据:创建OBS并行文件系统,并将Spark2x样例程序和样例数据上传到OBS并行文件系统中。
- 步骤3:创建作业:在MRS管理控制台创建SparkSubmit作业并运行。
- 步骤4:查看作业执行结果:作业执行完成后在OBS路径中获取日志文件并查看执行结果。
步骤1:创建MRS集群
- 进入购买MRS集群页面。
- 选择“自定义购买”。
    
    参见表1配置集群信息。表1 基础配置和集群配置 参数名称 参数说明 取值样例 计费模式 选择待创建的MRS集群的计费模式。 按需计费 区域 选择区域。 不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 选择“中国-香港” 说明:本指导以“中国-香港”为例进行介绍,如果您需要选择其他区域进行操作,请确保所有操作均在同一区域进行。 集群名称 待创建的MRS集群名称。 mrs_demo 集群类型 待创建的MRS集群类型。 选择“分析集群”,用来做离线数据分析。 版本类型 待创建的MRS集群版本类型。 选择“普通版”。 集群版本 待创建的MRS集群版本。 选择“MRS 3.1.0”。 说明:本实践仅适用于MRS 3.1.0版本。 组件选择 选择待创建的MRS集群配套的组件。 勾选所有组件。 元数据 是否使用外部数据源存储元数据。 选择“本地元数据”。 
- 配置网络配置和节点配置。
    
    表2 网络配置和节点配置 参数名称 参数含义 取值样例 可用区 选择集群工作区域下关联的可用区。 可用区2 虚拟私有云 选择需要创建集群的VPC,单击“查看虚拟私有云”进入VPC服务查看已创建的VPC名称和ID。如果没有VPC,需要创建一个新的VPC。 xxx 子网 选择需要创建集群的子网,可进入VPC服务查看VPC下已创建的子网名称和ID。如果VPC下未创建子网,请单击“创建子网”进行创建。 xxx 安全组 安全组是一组对弹性云服务器的访问规则的集合,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。 自动创建 弹性公网IP 通过将弹性公网IP与MRS集群绑定,实现使用弹性公网IP访问Manager的目的。 绑定一个弹性公网IP。 集群节点 配置集群节点信息。 保持默认值。 
- 参考表3配置以下登录凭证信息。
- 高级配置不开启,企业项目选择“default”。
- 勾选通信安全授权后,单击“立即购买”,进入任务提交成功页面。
- 单击“返回集群列表”,可以查看到集群创建的状态。
    
    集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。 
步骤2:准备样例程序和数据
- 创建OBS并行文件系统,用于存放Spark样例程序、样例数据、作业执行结果和日志。
    
    - 登录华为云管理控制台。
- 在“服务列表”中,选择。
- 单击“并行文件系统 > 创建并行文件系统”,创建一个名称为“obs-demo-analysis-hwt4”的文件系统。策略等参数保持默认值。
 
- 单击文件系统名称。选择左侧导航栏“文件”,在“文件”页签下单击“新建文件夹”,分别新建“program”、“input”文件夹,如图2所示。
- 从 https://mrs-obs-ap-southeast-1.obs.ap-southeast-1.myhuaweicloud.com/mrs-demon-samples/demon/driver_behavior.jar路径下载样例程序driver_behavior.jar至本地。
- 进入“program”文件夹,单击“上传文件”,选择本地存放的driver_behavior.jar样例程序。
- 单击“上传”,上传样例程序到OBS并行文件系统。
- 从https://mrs-obs-ap-southeast-1.obs.ap-southeast-1.myhuaweicloud.com/mrs-demon-samples/demon/detail-records.zip获取Spark样例数据到本地。
- 将下载的“detail-records.zip”解压,获取图3所示的样例数据。
- 进入“input”文件夹,单击“上传文件”,选择本地存放的Spark样例数据。
- 单击“上传”,上传样例数据到OBS并行文件系统。
    
    上传7中解压后的数据至“input”文件夹下。 图4 上传样例数据  
步骤3:创建作业
- 在MRS控制台左侧导航栏选择,单击名称为“mrs_demo”的集群。
- 在集群信息页面选择“作业管理”页签,单击“添加”,进入添加作业页面。
- 完成作业参数配置。
    
    表4 配置作业信息 参数名称 参数说明 取值样例 作业类型 选择待创建的作业类型。 选择“SparkSubmit”。 作业名称 自定义作业名称。 输入“driver_behavior_task”。 执行程序路径 待执行程序包的存放路径。 单击“OBS”,选择步骤2:准备样例程序和数据中上传名称为driver_behavior.jar的jar包。 运行程序参数 为本次执行的作业配置相关优化参数,用于优化资源使用效率,提升作业的执行性能。 参数选择“--class”,值输入“com.huawei.bigdata.spark.examples.DriverBehavior”。 执行程序参数 输入“访问OBS的AK信息 访问OBS的SK信息 1 输入路径 输出路径”。 - AK/SK请参考说明方式获取。
- 1为固定输入,用于指定作业执行时调用的程序函数。
- 输入路径可通过单击“OBS”进行选择输入路径。
- 输出路径请手动输入一个不存在的目录,例如obs://obs-demo-analysis-hwt4/output/。
 说明:访问OBS的AK/SK信息可通过如下方式获取: - 登录华为云管理控制台。
- 单击右上角的用户名,然后选择“我的凭证”。
- 系统跳转至“我的凭证”页面,单击“访问密钥”。
- 单击“新增访问密钥”申请新密钥,按照提示输入密码与验证码之后,浏览器自动下载一个“credentials.csv”文件,文件为csv格式,以英文逗号分隔,中间的为AK,最后一个为SK。
 AK信息 SK信息 1 obs://obs-demo-analysis-hwt4/input/ obs://obs-demo-analysis-hwt4/output/ 服务配置参数 用于为本次执行的作业修改服务配置参数。 保持默认不配置。 图5 添加作业  
- 单击“确定”,开始提交作业,执行程序。
 
     
      


