一、本次体验点
(一)对接的数据库及业务系统
对接业务系统:销售ERP系统、CCTD煤炭大数据、电子商务平台等
数据库类型:Oracle、SQL Server、API接口
目标数据库:数仓的Oracle数据库
(二)体验功能点
1、API数据源
■解决场景:需要获取公司电子商务平台的日交易数据,但存在以下困难:
(1)电子商务平台系统部署于云平台,数据库由于安全要求,仅允许内部微服务链接,外网无法直接链接。
(2)其次日交易数据需要进行多数据表关联计算,涉及多种异构类型数据库(关系型和非关系型),即使直接对接数据库,也无法直接拿到目标数据。
(3)目前电子商务平台提供数据接口的形式,可以获取日交易信息,需要通过API的对接方式。
■体验成果:
整体思路是通过API数据输入的算子,来抓取API的数据,通过JSON解析,形成结构形式的表,然后输出到数仓的Oracle数据库。
首先先创建了一个数据开发任务,其中有两个数据转换任务:
以其中一个数据转换任务为例:
通过“RestAPI输入”算子,可以快速设置接口的url地址、请求头和请求参数:
点击“数据预览”就可以看到相应的数据,可以快速判断API接口设置的对不对:
通过以上的设置就基本上可以拿到API接口的数据了,然后就是将获取到的JSON数据转换成标准的行列数据,这里有一个很方便的工具,即“JSON解析”算子,它不像Kettle一样需要你去计算复杂的JSON路径,它会将JSON节点直接通过树结构进行展开,然后勾选本次需要抓取的数据节点即可,勾选后会自动生成JSON路径:
然后就可以直接看JSON解析完的数据:
生成JSON路径后并预览数据后,又遇到一个问题,我们还需要过滤一下数据中一些不符合抓取要求的数据,此时不能将解析后的数据直接导入数仓,但是我们又不想用代码来编写处理逻辑,这时“Spark SQL”算子帮到了我,他可以不管倒进来的数据是什么数据源,均可以用通用SQL语法编写查询语句,于是我们就加了一些where条件来过滤:
然后再去进行数据预览,就拿到了我们需要的最终数据。
最后通过DB表输出直接导入到数仓:
这里可以选择写入方式,因为前面我们会清空当天数据后再导入,所以这里选择的是“直接写入”,它也支持清空表导入。
最后设置调度任务,设置界面比较简介明了,执行频率使用汉字描述简单易懂,总之很快就可以设置好需要的调度计划:
然后每天固定时间前往任务运维界面查看运行情况:
然后运行报错的任务点击“查看详情”可以看到具体报错内容:
通过上述操作,最终我们完成了从电子商务平台API接口中获取当日的成交情况。
■功能评价:
Rest API算子是一个非常快速获取API接口的插件,JSON解析是一个满足图形化选择和快速自动计算JSON路径的工具,对我们而言帮助很大,节省了JSON的分析时间和路径的手工计算。Spark SQL可以帮我们进行数据的进一步清洗和转换,无需代码,仅需要了解简单的SQL语法即可。最后,调度任务的设置和查看也十分便捷。
■意见和建议:
在这中间,我们人为也还有一些功能是有进步空间的。例如调度任务设置,针对复杂的调度任务,需要通过专业的cron表达式来设置,对一般操作人员的要求比较高,建议此处升级为口语化或图形化点选的方式来配置:
第二方面,调度任务的记录中,只能以浮窗的形式查看报错,如果内容过多查看会不方便,建议弹窗或者单独的页面:
最后,如果想看看任务近期的执行日志,只能前往“数据开发”节点下面看,而且只能看到最新的日志,不能看到以往的日志(场景是想分析每次抽取数量的情况和速度):
最后还有一个数据资产管理的诉求,希望有一个类似FineBI数据准备的模块,可以获取目前已经抓取的数据清单,并且可以按照数据属性进行分类,形成数据仓库,作为公司的数据资产:
二、产品体验心得
整体效果满足官方宣传内容中涉及的内容,给我公司数据处理流程带来了比较明显的改进,基于目前我们公司的数据体量,已经满足我们目前的数据集成需求,非常高效便捷。
对于FineDataLink这款产品,个人感觉在帆软未来生态中扮演了很重要的角色,因为无论是数据可视化还是数字孪生,都离不开数据本身,而数据的抽取、清洗和转换是一项专业且复杂的工作,没有一个得心应手的工具是很难获得高质量的数据的。
FineDataLink提供了一个图形化、可视化的数据收集转换工具,对FineBI和FineReport的前置数据处理提供了入口,对比之前使用其他不同结构的工具来对接FineBI和FineReport,FineDataLink作为帆软生态家族的一员,形成了整套帆软生态,加上帆软优质的运维服务以及丰富的社区,必定会带来更好的使用体验。
|