引言
数据源的分类,大体可以分为三类:结构化数据,半结构化数据,非结构化数据
开始
我仅对我工作中接触的数据和使用的方法做总结,不免有些遗漏或错误。
首先,我们面临的数据源多而杂,有来自公司自有平台的数据,来自第三方现有的数据,来自通过爬取获取的数据。
自有平台数据的采集
自有平台的数据包括:自有系统中的数据和各个部门手动整理的历史数据
(1)自有系统的数据,存放在oracle数据库中,而我们抽取的数据统一放在一个数据平台,数据平台采用的数据库为mongodb。所以自有系统的数据采集,关键是如何从oracle到mongodb中。
- 如果采集的数据对实时性要求比较高,那么采用ogg实时迁移方案。
oracle to oracle迁移方案
oracle to mongodb迁移方案 - 如果采集数据对实时性要求不高,那么采用定时的迁移方案:使用etl工具进行数据迁移(spoon)
(2)自有数据,还有一部分是以csv或txt的形式存在
如果对实时性要求比较高:使用flume对日志进行收集,然后存放的mongodb中
如果对实时性要求不高:使用mongodbimport工具导入mongodb即可
第三方现有数据的采集半结构化数据
仅有自有的数据是不足以支撑业务需求的分析,所以收集第三方数据是必须的,第三方的数据来源就多种多样了,大体可以二类:来自数据库中的半结构化数据,来自文件的半结构化数据
如果数据来自关系型数据库mysql或oracle,并且提供的是dmp文件,那么就需要将获取的数据存入到mongodb。这里提供两种思路:
(1)先将数据存入oracle或mysql,然后使用上述迁移方案完成数据的采集
(2)直接将获取的数据,使用工具导入到oracle
如果数据提供的是txt或csv文件,那么直接使用mongoimport导入mongodb
非结构化数据采集
这一节,没多少要讲的。因为没有接触很深,但是后续是个必须的过程。使用python爬取各种数据,存储成csv或txt文件
爬取的文件,再使用mongodbimport导入mongodb中
由于要提供数据的可视化和搜索平台,建议使用ELK的技术栈,所以数据的收集使用Logstash
<b>下一章节总结一下数据的规整
网友评论