基于日志服务数据处理和RDS MySQL的数据富化和数据分析

本文要点(res_local()、res_rds_mysql()和e_table_map()专题):

如何使用阿里云日志服务数据处理RDS MySQL使数据富化

如何为数据处理配置RDS内网地址访问数据库

如何利用富化之后的数据进行数据分析

背景

业务背景:准备处理和分析基于sls日志服务的共享自行车租赁信息。sls日志服务记录的2019年8月上海的一辆共享自行车的数据已被用于研究。因为RDS数据库存储每辆自行车的编号、品牌和批次。因此,有必要使用日志服务数据处理对存储在RDS上的单车实时动态日志和静态数据进行富化和数据分析处理。业务需求:需要使用数据处理VPC反向代理才能使用RDS内网访问数据库。因为RDS外联网连接会降低实例的安全性,并且链接不稳定。因此,有必要使用内部网访问来确保输速率和安全性的传输。

原始日志数据样例

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

上面日志存储字段的详细信息如下:

Orderid指订单编号

自行车id是指自行车号码id。

Userid表示骑车人的id。

x表示骑自行车者地理位置的位置_经度

Location_y代表骑车人的地理位置维度

动作表示用户的骑行行为,分为骑行开始时间和骑行结束时间。

温度表示用户骑自行车时的温度。

Atemp表示用户骑自行车时的体感温度。

湿度表示骑自行车时使用者的相对湿度。

风速表示用户骑自行车时的风速。

具体的共享自行车信息存储在RDS MySQL中,具体数据格式如下:

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

以上字段信息如下:

自行车id是指自行车号码id。

品牌称自行车品牌

批次是指投放市场的批次。1表示2019年1月上市的批次,2表示2019年6月上市的批次

加工需求

加入富化需要根据日志存储中的自行车id和RDS数据库中的自行车id来完成。

然后,根据处理后的日志,进行数据分析,分析共享自行车的最优调度问题。

数据加工使用RDS内网地址访问数据库做数据富化处理

加工流程

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

基本配置

注:只有全部符合以下条件才能正常使用数据加工使用RDS内网访问数据库功能。

此功能仅允许在访问成功之前准备RDS实例和SLS的Project在同一区域region内链接,否则访问将被阻止。

当使用RDS内部网地址访问数据库功能时,需要设定IP段白名单。请将100.104.0.0/16IP段设置为白名单(该IP段还包含登录数据DMS系统的IP段)。具体设置步骤如下:

进入RDS实例详细信息页面,并在右上角设置白名单选项按钮,如下所示:

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

进入设置白名单设置页面:

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

加工配置

对于数据处理前端控制台,高级参数配置需要云数据库RDS的vpc_id,instance_id和实例链接端口instance_port信息。以下是参数配置:

config.vpc.vpc_id。{name}

config.vpc.instance_id。{name}

config.vpc.instance_port。{name}

#示例:

config . VPC . VPC _ id . test 1: VPC-uf6 mskb0b * * * * n9yj

config . VPC . instance _ id . test 1: RM-uf6e 61k * * * * ahd 7

config . VPC . instance _ port . test 1: 3306

要使用此功能,您需要了解以下三个相关信息的基本概念:

Vpc_id表示准备使用内部网访问数据库的RDS实例的网络类型标识。有关专有网络的相关文档,请参考什么是专有网络和专有网络控制台

实例标识指示要使用内部网访问的数据库的RDS实例标识。请参考什么是云数据库中的关系数据库,了解关系数据库的介绍

实例链接端口实例端口是指准备使用内部网访问数据库的RDS链接地址端口。请参考内联网地址和外联网地址来介绍和查看内联网和外联网地址端口的详细信息

上述RDS的Vpc_id、实例_id和实例_端口可以在RDS控制台中找到,如下图所示:

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

端口信息:

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

具体高级参数配置示例图:

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

加工操作

经过以上步骤,此时我们可以真正对数据做富化处理。以下是特定的处理语法:

#使用无线电数据系统内联网地址和富化数据访问数据库

e _ table _ map(RES _ rds _ MySQL(str _ format( ' { } : { 0 } ',RES _ local( ' config . VPC . instance _ id . test1 '),RES _ local( ' config . VPC . instance _ port . test1 '), '您的rds用户名 ', '您的rds密码 ', '您的数据库 ',table= '您的表 ',primary _ keys= ' bikeid '), ' biked ',[' brand

有关上述语法的详细信息,请参考res_local、e_table_map和res_rds_mysql

对于首次单击的预览界面,需要AccessKeyId。有关访问密钥的相关信息,请参考访问密钥配置和子帐户授权。点击预览可以查看加工结果:

如上图所示,当前数据基本上是正常数据。接下来,将处理和配置已处理的数据。下图中的右图显示了处理后的数据将被分发到一个lshare_bike_target的日志存储中。

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

数据加工诊断

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

点击上图中的提示按钮,进入数据处理任务明细页面,可以查看处理错误日志、处理消耗记录等重要信息。具体数字如下:

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

从上图中,我们可以看到具体的加工仪器市场,以及加工误差信息。上图中的错误消息是由于没有在rds实例中添加白名单而导致的。

数据处理保存后,可能是自己目标的日志库中的不能及时看到加工后的数据,因为有一个延时速率用于通过参考数据处理仪表板来创建警报参考状态监控和警报,以获得具体信息。

对富化后的数据进行数据分析

注意:在使用SQL分析的时候,需要将对应的字段建立好索引。在此案例中我们需要提前建立好orderid、bikeid、userid、location_x、location_y、action、temp、atemp、humidity、windspeed这些字段索引,具体如下图所示:

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

从上面的数据中,我们需要提前思考我们能发现、分析、计算和得出什么结论。这里,我们主要从以下几个方面进行分析:

1.分析温度、体感温度、相对湿度和风速对共用自行车租赁的影响(外部环境和气候因素)

2.自行车品牌对共享自行车租赁的影响(供应商品牌因素)

3.自行车发布批次对共享自行车租赁的影响(自行车质量因素)

4、每小时汽车数量的统计

5.计算一周内每周使用的车辆数量。

6、工作或班级因素(轨迹分析)

7、工作或课后因素(轨迹分析)

外界环境因素

上面的例子是为了分析温度对共享自行车租赁的影响:

* |选择计数(orderid)作为计数、温度、动作位置动作,如按温度分组的“start_time”,按温度排序的动作DESC

上面的SQL语句表明,当动作是start_time时,在每个温度下骑自行车的人数被计数。

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

从上图可以看出,当气温在10~18度和20~29度之间时,骑车人数最多。因此,当天气温度大约在这个范围时,自行车的数量可以适当地增加。

供应商品牌因素

* |选择计数(订单编号)作为计数、品牌、行动地点行动,如“开始时间”按品牌分组、行动订单按品牌DESC

上面的SQL语句指出了当行动开始时该品牌的骑自行车者的总数。

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

从上面的分析,我们可以知道,永远品牌的自行车更受用户的欢迎,我们可以考虑永远品牌的自行车时,供应自行车。这可以提高用户的粘度。

自行车质量因素

* |选择计数(orderid)作为计数、批次、操作,其中操作如“start_time”按批次分组,操作按批次排序DESC

上面的SQL语句表明,当动作是start_time时,将计算每批中骑自行车的总人数。

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

从以上分析可以看出,6月投放市场的自行车更受欢迎,这可能是因为1月投放市场的自行车质量可能下降,导致用户不愿意使用旧自行车。从上图可以估计,周期淘汰率基本在8个月左右,周期批次需要更换。

统计每小时用车数量

*|选择date_format (__time__,'%H ')作为小时,COUNT(orderid)作为计数,操作WHERE操作如“start_time”按小时分组,操作ORDER按小时ASC

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

从上图可以分析出,从早上6: 00到10: 00的时间段是车辆的高峰需求,而早上8: 00是高峰需求。因此,为了更好地为用户服务,有必要在此事件期间制定一个良好的调度优先级策略计划。

统计一周各个星期的用车数量

*|选择date_format (__time__,'%W ')作为周,COUNT(orderid)作为计数,操作WHERE操作如“start_time”按周分组,操作

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

周六的车辆数量最多,为20,102辆,周四为18,592辆,周五为18,386辆。因此,我们可以密切关注这三天的自行车调度。

上班或者上课因素

*|选择__time__,location_x,location_y,action,orderid,cast(date_format(__time__,'%H ')作为bigint)作为Hour WHERE action LIKE ' start _ time '并将(date_format(__time__,'%H ')作为bigint)10和cast(date_format(__time__,'%H ')作为bigint)5按操作分组,__time__,location_x,location_y,orderid,Hour

上面的SQL语句指示了用户在上午5: 00到10: 00之间骑自行车旅行的起始位置

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

从上图可以看出,早上骑车出行的初始地点通常在学校、居民区等地,这说明部分学生或工人在上课或上班时可能会选择早上骑车出行,此时对自行车的需求较大,所以可以优先将附近其他地区的自行车调度到居民区、学校等地。为了保证自行车供应的平衡

下班或者下课因素

*|选择__time__,location_x,location_y,action,orderid,cast(date_format(__time__,'%H ')作为bigint)作为Hour WHERE action LIKE ' start _ time '和cast(date_format(__time__,'%H ')作为bigint)23和cast(date_format(__time__,'%H ')作为bigint)17按操作分组,__time__,location_x,location_y,orderid,Hour

基于日志服务数据处理和RDS  MySQL的数据富化和数据分析

对上图的仔细分析表明,在18: 00到20: 00的范围内,大多数人从工作场所(建筑物、研究机构等)开始。)、学校等。这段时间是下班后的高峰期,其他地区的自行车可以优先运送到这些地区。为了缓解高峰期带来的少量自行车和用户对自行车需求的急剧增加所带来的不友好体验。

然而,从21: 00到22: 00,大多数用户在公园和初中高中附近使用自行车。但是总的数量比18到20岁之间使用的自行车数量少得多。因此,我们可能会猜测人们喜欢在21点到22点之间去一些休闲场所散步。

结论

经过以上实战分析,我们可以利用日志服务数据处理进行大量的实际工作,比如利用日志服务数据处理进行异常数量的数据,对处理后的数据进行SQL和可视化分析,制定相应的业务策略,找出当前策略定位上的不足。