Alex Guo
文章36
标签33
分类10
大数据之数据采集方法

大数据之数据采集方法

引言

数据源的分类,大体可以分为三类:结构化数据,半结构化数据,非结构化数据

首先,我们面临的数据源多而杂,有来自公司自有平台的数据,来自第三方现有的数据,来自通过爬取获取的数据。

自有平台数据的采集

自有平台的数据包括:自有系统中的数据和各个部门手动整理的历史数据
(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  

本文作者:Alex Guo
本文链接:https://alexguo.net/2018/12/28/%E5%A4%A7%E6%95%B0%E6%8D%AE%E4%B9%8B%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86%E6%96%B9%E6%B3%95/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可