Flink-Learning训练营:课时1:实现淘宝母婴订单实时查询和可视化
课程地址:https://developer.aliyun.com/trainingcamp/0bcc1ab57cf841a2af632d6252fecbab
淘宝母婴订单实时查询和可视化
内容简介
一、实验准备
二、实验重点内容
三、实验收获
今天我们将进行一个实验,实现淘宝母婴订单实时查询和可视化,在进行实验之前,我们需要开通阿里云实时计算flink版免费试用,开通阿里云数据库RDS免费试用,开通阿里云检索分析服务ela stic search,后面用es简称。考虑到数据的连通性,需要Fink,PDS,ela stic search需要开通在同一区域同一VPC下的资源。在开通之后,我将和大家一起使用flink自带的MySQL Cnnector连接RDS云数据库实例。Elasticsearch connector连接Elasticsearch检索分析服务实例,并以一个淘宝母婴订单时查询的地址,尝试上手connected的数据捕获数据写入等功能。
一、实验准备
要开通Flink版免费试用,首先需要进入阿里云试用中心。
点击上述链接:
http://free.aliyun.com/?crowd=enterpise&pipCode=sc ,打开链接之后,我们点击右下角的立即试用。按照操作引导开通实习生flink实例。还要类比于云数据库rds和检索分析服务Elasticsearch。
二、实验内容
(1)婴儿出生和订单情况。
首先,婴儿出生和订单情况包含两份文件,再点击下面的天使数据集查看。一份数据集csv文件,指的是某一订单信息的详情。第二份文下面是行情的介绍,这里不再赘述,我们需要登录rts控制台,将两份文件拷入到推荐的表中。这是两份表的表结构,分别是简单的一个数据集和婴儿的信息的数据集。
接下来我们进行数据开发,我们通过创建临时表,
通过使用MySQL的connector 后置相关的链接信息,连接到MySQL实例的对应的表中。所以需要注意的是,其他类型和字段的名称需要准确对应。连接完MySQL的一个实例之后,我们需要通过circle Pro 6模式的筛选集群调试,确认我们能够正确的连接到。这样才能表示,我们上述的连接信息填接准确。
我们选中dl语句以及circle语句一起执行。可以看到,我们能正常的读取到数据,就表示我们的ddl信息准确。同样的另一张表也是如如此,这里就不再演示。
(2)Elasticsearch查询分析
对于es我们需要确保我们的字段类型和字段名对应准确,大部分表示我们的索引,我们需要给对应的索引。要跟据我们业务情况编写对应的作业思路逻辑,将两张表进行双流交易,然后将最终的结果写入到es中,进入Enrich the or这个缩影中,那么在写入之前,我们需要先确保es能够创建索引功能,我们进行rs集群配置,这地方有一个自动创建索引的一个功能,这里有一个允许自动创建索引,如果不支持的话,我们点击右上角的修改配置,然后选中,允许自动创建索引,打勾,然后自动确定,稍等一段时间,即可配置完成。
完成之后,我们将作业执行进行一个调试功能。但调试时,他不会真实的去将索引创建并使用数据,没有实际到生产中才会。点击右上角的上线功能,我们点击作业进行启动。等待片刻作业启动之后,我们即可es登录进行查看。
一个作业中,我们主要是将两张表进行双流校验,确保不断进行一个打宽的处理,方便我们后续的分析和查询。启动之后,我们点击es控制台有一个control up分析,然后通过配置公网白名单,然后点击公网入口即可跳转到可以看到的一个登录界面。 在camera登录界面,我们点击manager,然后找到索引的管理。搜索我们刚刚自动创建的一个作业的索引。
点击创建dex pattern,搜索刚刚创建的缩影,点击next step , 点击创建,此时我们点击Discover,我们即可查看到将29971条数据消费过来。然后我们对数据进行调试。
首先我们加一条数据,点击执行,添加成功,然后我们返回skype界面。刷新,要查看到我们刚刚新添加的那条数据已经存在。我们也可以通过精准搜索,可以查看到。
之后我们对数据进行一个修改的操作。首先我们根据右转ID自传搜索到medi详情,可以查看到当前的ID是2757,首先我们查看一下userid的详细信息。当前的aocial id 17429开头,然后我们勾选数据,在更新完后我们点击discover界面刷新。查看,能看到数据已经更新过来,接下来我们体验一下删除操作。
首先我们还是以这项数据为例,找到他的平台id ,他的ID32768,我们将这条数据进行删除,然后返回界面进行查看,查看到数据已经删除,我们已经查找不到。
(3)分组统计的每月数据
首先还是在基于以前作业的基础上。在原表不变的情况下,我们根据相同的业务逻辑去编写对应的作业circle,我们按照日期的准确到月份,然后对每月的订单的总数和婴儿的总数进行一个统计,然后最终写入es的一个enraged order view索引中。然后我们进行调试作业。选中,完全可以查看到我们的一个作业有异常,我们可以通过判断得出我们的一个订单表的一个表明有误。然后我们再次点击,发现作业逻辑正常运行,即可对作业进行上线发布。启动刚刚提交的一个作业。等待片刻,启动之后,进行查看。
启动完成我们通过刚刚定的索引名称,我可以在界面进行搜索。可以查看到,索引已经创建。我们创建索引的pattern,然后点击创建索引,点击下一步,点击创建。创建完成后我们点击discover 页面查看,切换刚刚创建的Partern。然后点击左下角的一个Be number,然后右键点击vurlie我们进行试图界面的一个图表创建编辑,首先我们切换到斜线图,然后x轴我们选择时间。
时间的一个数量选择最大。时间的横轴名称我们自定义,这里我们定义为day-year-month选择完毕,编辑完成点击close。然后我们及y轴我们选择buy-number然后选择左侧,编辑完成,点击close 。然后我们新添加一个图层,我们先切换它的图层的一个模式为折现线图。然后x轴依然选择时间轴,名称和上一个图层一样。Y轴我们选择AB的number。这里我们value format选择百分比,位置选择右侧,点击关闭。
(4)生育带动母婴行业发展
从此图我们可以看出,啥每月的订单数量和婴儿的出生。基本上成正比例关系,然后我们点击右上角的sell,保存当前图表名称,点击保存。
三、实验收获
做完本实验后,您将能够使用Flink实时计算平台创建并提交作业;编写基于FlinkTableAPI的SQL语句;使用MySQLConnector对数据库进行读取;使用ElasticsearchConnector对数据库进行写入点击关闭。