数据湖探索服务

一、实验目的

本次实验为体验华为云的数据库探索服务,使用的数据包括两部分,第一部分为车辆定时上报的位置记录和异常驾驶行为触发上报的事件数据,第二部分为货运订单相关的信息。通过使用数据湖探索服务和OBS服务去处理这些数据,了解DLI是什么以及怎么使用DLI。

二、实验步骤

1.将数据上传到OBS

将数据上传到OBS,为后面在数据湖中完成数据分析做准备。

(1)下载OBS Browser

    在OBS服务控制台,找到“下载OBS Browser”,点击链接下载OBS Browser。

 

(2)下载AK/SK

在控制台界面,单击“我的凭证”--->“管理访问秘钥”--->“新增访问秘钥”,查看自己账户的AK/SK。

(3)运行OBS Browser

解压压缩包,运行obs.exe,填入相关信息。

(4)创建桶并上传数据

数据来源http://forum.huaweicloud.com/forum.php?mod=viewthread&tid=1903&page=1&extra=#pid5285

 

2.分析数据

  在控制台界面找到数据湖探索,点击进入。

(1)创建SQL作业

  点击SQL作业右上角的“创建作业”

(2)创建数据库

(3)在demo数据库中建表

执行下面的语句,注意PATH中的”dli-demo-yangfudong”为之前创建的OBS名称

create table detail_records(

  driverID String,

  carNumber String,

  latitude double,

  longitude double,

  speed int,

  direction int,

  siteName String,

  time timestamp,

  isRapidlySpeedup int,

  isRapidlySlowdown int,

  isNeutralSlide int,

  isNeutralSlideFinished int,

  neutralSlideTime long,

  isOverspeed int,

  isOverspeedFinished int,

  overspeedTime long,

  isFatigueDriving int,

  isHthrottleStop int,

  isOilLeak int) USING CSV OPTIONS (PATH 's3a://dli-demo-yangfudong/detail-records/');

(4)创建告警事件表

create table event_records(

  driverID String,

  carNumber String,

  latitude double,

  longitude double,

  speed int,

  direction int,

  siteName String,

  time timestamp,

  isRapidlySpeedup int,

  isRapidlySlowdown int,

  isNeutralSlide int,

  isNeutralSlideFinished int,

  neutralSlideTime long,

  isOverspeed int,

  isOverspeedFinished int,

  overspeedTime long,

  isFatigueDriving int,

  isHthrottleStop int,

  isOilLeak int)

(5)将告警事件数据从详单中抽取出来插入到event_records表中。

insert into table event_records

(select *

from detail_records

where isRapidlySpeedup > 0

OR isRapidlySlowdown > 0

OR isNeutralSlide > 0

OR isNeutralSlideFinished > 0

OR isOverspeed > 0

OR isOverspeedFinished > 0

OR isFatigueDriving > 0

OR isHthrottleStop > 0

OR isOilLeak > 0)

(6)创建order_records表

点击“创建订单表”,然后从OBS中导入数据。

3.执行查询

(1)查询某个司机在某个时间段的违规记录

select

  *

from

  event_records

where

  driverID = "panxian1000005"

  and time >= "2017-01-01 00:00:00"

  and time <= "2017-02-01 00:00:00"

(2)查询订单信息

select

  *

from

  order_records

where

  orderNumber = "2017013013584419488"

order by

  time desc

(3)根据司机和发车信息查询司机详细轨迹

select

  driverID,

  carNumber,

  latitude,

  longitude,

  siteName,

  time

from

  detail_records

where

  driverID = "zouan1000007"

  and time > "2017-01-30 16:00:00"

  and siteName IS NOT NULL

order by

  time desc

三、实验感想

    通过这次实验了解了DLI的使用,这次从体验上来说,使用DLI与使用数据库类似,都是通过查询来对数据进行分析。与普通数据库的不同可能在于数据的来源不同,DLI的数据来源于OBS,普通数据库的数据可能就是直接放在数据库中的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值