使用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集群
- 进入。
- 选择“自定义购买”。
参见表1配置集群软件信息。
表1 软件配置 参数名称
参数说明
取值样例
区域
选择区域。
不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
选择“华北-北京四”
说明:本指导以“华北-北京四”为例进行介绍,如果您需要选择其他区域进行操作,请确保所有操作均在同一区域进行。
计费模式
选择待创建的mrs集群的计费模式。
按需计费
集群名称
待创建的mrs集群名称。
mrs_demo
集群类型
待创建的mrs集群类型。
选择“分析集群”,用来做离线数据分析。
版本类型
待创建的mrs集群版本类型。
选择“普通版”。
集群版本
待创建的mrs集群版本。
选择“mrs 3.1.0”。
说明:本实践仅适用于mrs 3.1.0版本。
组件选择
选择待创建的mrs集群配套的组件。
勾选所有组件。
元数据
是否使用外部数据源存储元数据。
选择“本地元数据”。
图2 自定义购买-软件配置
- 单击“下一步”配置硬件信息。
参见表2配置集群硬件信息。
表2 硬件配置 参数名称
参数含义
取值样例
可用区
选择集群工作区域下关联的可用区。
可用区2
企业项目
选择集群所属的企业项目。
default
虚拟私有云
选择需要创建集群的vpc,单击“查看虚拟私有云”进入vpc服务查看已创建的vpc名称和id。如果没有vpc,需要创建一个新的vpc。
xxx
子网
选择需要创建集群的子网,可进入vpc服务查看vpc下已创建的子网名称和id。如果vpc下未创建子网,请单击“创建子网”进行创建。
xxx
安全组
安全组是一组对弹性云服务器的访问规则的集合,为同一个vpc内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。
自动创建
弹性公网ip
通过将弹性公网ip与mrs集群绑定,实现使用弹性公网ip访问manager的目的。
绑定一个弹性公网ip。
集群节点
配置集群节点信息。
保持默认值。
图3 自定义购买-硬件配置
- 单击“下一步”,高级配置页签参考表3配置以下信息,其他选项保持默认值。
表3 高级配置 参数名称
参数说明
取值样例
kerberos认证
登录manager管理页面时是否启用kerberos认证。
关闭
用户名
manager管理员用户,目前默认为admin用户。
admin
密码
配置manager管理员用户的密码。
xxx
确认密码
再次输入manager管理员用户的密码。
xxx
登录方式
登录集群ecs节点的方式。
选择“密码”。
用户名
用于登录ecs的用户,目前默认为root用户。
root
密码
配置登录ecs的用户密码。
xxx
确认密码
再次输入登录ecs的用户密码。
xxx
- 单击“下一步”,在“确认配置”页面检查配置集群信息,如需调整配置,可单击,跳转到对应页签后重新设置参数。
- 勾选通信安全授权后,单击“立即购买”,进入任务提交成功页面。
- 单击“返回集群列表”,可以查看到集群创建的状态。
集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。
步骤2:准备样例程序和数据
- 创建obs并行文件系统,用于存放spark样例程序、样例数据、作业执行结果和日志。
- 登录华为云管理控制台。
- 在“服务列表”中,选择 。
- 单击“并行文件系统 > 创建并行文件系统”,创建一个名称为“obs-demo-analysis-hwt4”的文件系统。策略等参数保持默认值。
- 单击文件系统名称。选择左侧导航栏“文件”,在“文件”页签下单击“新建文件夹”,分别新建“program”、“input”文件夹,如图4所示。
图4 新建文件夹
- 从 路径下载样例程序driver_behavior.jar至本地。
- 进入“program”文件夹,单击“上传文件”,选择本地存放的driver_behavior.jar样例程序。
- 单击“上传”,上传样例程序到obs并行文件系统。
- 从获取spark样例数据到本地。
- 将下载的“detail-records.zip”解压,获取图5所示的样例数据。
图5 样例数据
- 进入“input”文件夹,单击“上传文件”,选择本地存放的spark样例数据。
- 单击“上传”,上传样例数据到obs并行文件系统。
上传7中解压后的数据至“input”文件夹下。
图6 上传样例数据
步骤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/
服务配置参数
用于为本次执行的作业修改服务配置参数。
保持默认不配置。
图7 添加作业
- 单击“确定”,开始提交作业,执行程序。
步骤4:查看作业执行结果
- 进入“作业管理”页面,查看作业执行状态。
图8 作业执行状态
- 等待1~2分钟,登录obs控制台,进入“obs-demo-analysis-hwt4”文件系统的“output”目录中,查看执行结果,在生成的csv文件所在行的“操作”列单击“下载”按钮将该文件下载到本地。
- 在本地将下载后的csv文件使用excel文本打开,按照样例程序中定义的字段为每列数据进行分类,得到如下图所示作业执行结果。
图9 执行结果
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨