![4e8a86fbf143183bd9ec25adbedc6607.png](https://i-blog.csdnimg.cn/blog_migrate/7750cb2e3fe7e6011e320ae347f6f9de.jpeg)
1.本文要点(json函数、ip映射函数专题)
- 如何使用阿里云日志服务-数据加工做清洗数据
- 如何使用阿里云日志服务强大的SQL做数据分析
- 如何配置数据仪表大盘
2.日志数据样例
本文中的日志数据,以某大型电商一段时间的成交量数据为背景来展开工作的。具体日志数据如下:
![2e94d544ffa6c4303854d89c5994b719.png](https://i-blog.csdnimg.cn/blog_migrate/74ac8b36d1172e3c3cac14ebd90597aa.jpeg)
首先,从日志中可以看出每个用户购买的商品名称、商品价格、商品描述、商品分类以及用户的ip地址。此外,为了客户隐私本文中的隐去用户id。
2.1需求
- 根据ip地址解析出用户的地理位置(省市国家信息);
- 然后依据每个用户IP解析的位置信息,分析每个省市各类产品之间的销售额,并制定相应的营销战略。
3.使用数据加工进行数据清洗
接下来带领大家一步一步学习如何使用数据加工
3. 1加工流程
![39a7b6f8ae5b8cd223784b47ac4dafd7.png](https://i-blog.csdnimg.cn/blog_migrate/732c5c5207517df36743612926fb4989.jpeg)
3.2 加工操作
1、点击搜索框右上第一个按钮“数据加工”进入加工页面
![64b6cc5216aeb2f438dcb4bc854f5e73.png](https://i-blog.csdnimg.cn/blog_migrate/27aba7c27f01b4f6b1c7b99fe5327f47.jpeg)
2、其次点击预览数据,做一些提前的配置
![e2a24f174e24d3eadee5c3f1c6ccebb1.png](https://i-blog.csdnimg.cn/blog_migrate/337b70143fa73584054da1ab312c1cd4.jpeg)
3、第一次点击的预览界面如下,其中在高级配置ak_id, ak_key主要是为了使用数据加工解析ip函数使用的(使用这种方式主要是安全,如果数据加工语法中没有使用到AK则可以不配置)具体AccessKeyId,AccessKey相关信息请参考访问秘钥配置和子账号授权。
![2be33d387032e6bc8fc00913dda88def.png](https://i-blog.csdnimg.cn/blog_migrate/44c06f2987d7ea9f66b2162a9c235c7f.jpeg)
4、接下来我们开始使用数据加工
e_set("geo",geo_parse(v("ip"), ip_db=res_oss_file(endpoint='http://oss-cn-hangzhou.aliyuncs.com',
ak_id=res_local("ak_id"),
ak_key=res_local("ak_key"),
bucket='log-etl-staging', file='ipipfree.ipdb',
format='binary')))
e_json("geo", depth=2)
e_drop_fields("geo")
e_if(e_search("province==中国"),e_drop())
3.3语法详解
- 首先需要在OSS上存一份IP解析库文件(文中使用的是ipipfree库)
- 然后使用res_oss_file函数从OSS上拉取存入内存中
- 在使用geo_parse函数对ip字段进行处理,解析出省市国家信息。此函数返回的是一个json数据
此时,点击下预览效果如下:
![9e956d016f761dc6fc4082bad002788e.png](https://i-blog.csdnimg.cn/blog_migrate/9feb056ff2744c30ec33aeab0548b2a1.jpeg)
- 使用e_json把geo字段的json数据展开,并且使用e_drop函数删除geo字段信息
从上图中可以看出解析出来的有脏数据即"province: 中国"这种日志信息,我在这里的处理是使用e_if,e_search和e_drop配合使用删除这些脏数据。
![493840bffe3304cbe2a6b495beeb368e.png](https://i-blog.csdnimg.cn/blog_migrate/3194f296e1727c0217bae87be411b5fe.jpeg)
如上图所示,目前的数据基本上都是正常数据。接下来是对加工的数据进行加工配置,以下图中的右侧图示表示将加工的数据分发到一个shop的logstore中。
![e783f13b1effc460ef7a8148b24c0ece.png](https://i-blog.csdnimg.cn/blog_migrate/450b7d84a5ef434d7c9625acf258734a.jpeg)
3.4数据加工诊断
![c41f06744754fd5dfb0e29f756586842.png](https://i-blog.csdnimg.cn/blog_migrate/1c19a5214bea0a803f5f9a8ba9a7a100.jpeg)
点击上图中提示按钮,可进入数据加工任务详情页面,在这里可以看加工出错日志、加工消费记录等重要信息。具体如下图:
![d7fdba5ccb6c96b2476272970b6e160c.png](https://i-blog.csdnimg.cn/blog_migrate/3c0dee979974e34747f71ff172bb9462.jpeg)
保存数据加工之后,可能在自己目标的logstore中不能及时看到加工后的数据,是因为使用数据加工会有一个延时速率,具体信息参考数据加工仪表盘,创建告警参考状态监控与告警。
使用日志服务SQL语句进行数据分析
以下图是通过sql查询所展示数据仪表大盘:
![5026a4e1b576f71f96978ff15f14d21c.png](https://i-blog.csdnimg.cn/blog_migrate/7e06bc5e1c9618806209dfe2b7959503.jpeg)
4.SQL分析
注意:在使用sql分析的时候,对应的字段需要提前建立好索引。在shop这个logstore中,我们需要提前建立好category, city, country, province, good_price这些字段的索引(good_price建立索引的时候选择double类型,其他的都为text类型就可以)。
做分析的时候,首先我们需要知道我们需要统计什么信息,对比什么信息,得出什么样的结论等等。在这里我们的需求有以下即方面:
1、统计各个省之间的各个品类的销售额
2、统计单个品类各省之间的销售额
3、统计单个省下各个市之间的销售额
4、对全国销售额进行地图可视化
4.1统计各省之间的各个品类的销售额
我们可以这样写SQL语句进行分析:
* | SELECT province, category, sum(good_price) as totalCount GROUP BY province,category
这条语句表示的是选出每个省的每个品类的总价。
下图表示的是在查询框里输入以上sql分析语句之后进入统计图表,然后点击流图进行配置,province为X轴,totalCount为Y轴,category为聚合列。
![5007d3e80a1a6398f2896fee7fbe0526.png](https://i-blog.csdnimg.cn/blog_migrate/efd04e9120ab5c3dc5f9d83761fa39bd.jpeg)
通过上图分析可知总体情况,数码产品品类的销售额占所有销售品类的主要部分,其次是化妆品,最后是图书。
此外,通过词云统计,可以统计出山东,广东等省是销售额占比大省。词云具体配置为:
![00f002ee1d589e76e45721ef9bd14817.png](https://i-blog.csdnimg.cn/blog_migrate/5ad9a88de63632082c2256e54aa94ef1.jpeg)
4.2统计单个品类各省之间的销售额
以下以数码产品为例:
1* | SELECT province, category, sum(good_price) as totalCount WHERE category='数码产品' GROUP BY province,category
![31fb7d1f5f9af649a1d6adcb6a352623.png](https://i-blog.csdnimg.cn/blog_migrate/890aab2d0cf59c5ec62d4ad59d47b97e.jpeg)
由上图分析可知山东,广东省是数码产品消费大省,后续可以加大促销力度。
统计单个省下各个市之间的销售额
以下示例以浙江省为示例:
1* | SELECT province, category,city, sum(good_price) as totalCount WHERE province='浙江' AND city!='null' GROUP BY province,category,city
![314878591f02bc888eb4fc4d78d4ba43.png](https://i-blog.csdnimg.cn/blog_migrate/5bfc043e9a509ac39ba53d41ecfe8a26.jpeg)
从上图中可以分析出浙江省各个市之间的各个品类的销售额。
5.数据仪表大盘
点击以下图中的“添加到仪表盘”按钮
![76120d6f0fab540ffb50b2242a0692b6.png](https://i-blog.csdnimg.cn/blog_migrate/53b1039efd488e52fdd0115a12f3b5b5.jpeg)
会跳出以下界面
![cdd5bc8c0d0c9a82ff12aab601a2a312.png](https://i-blog.csdnimg.cn/blog_migrate/8a2d09283ebc6471528b1970a6452fa7.jpeg)
配置完成之后,点击以下图中示意标记进入仪表大盘中心
![eccc198e386230244c91c970aff6263d.png](https://i-blog.csdnimg.cn/blog_migrate/9edd96cfc3b13d2922a23913e1c675d7.jpeg)
其中的右上角的编辑,可以调整各个图的大小以及位置等