星驰编程网

免费编程资源分享平台_编程教程_代码示例_开发技术文章

大数据书单之(3):数据采集与存储(上)

大数据处理从流程上来讲,首先第一步要解决的是数据的搜集和存储的问题。这部分分为三个主要步骤:

数据采集=》数据清洗=》数据存储

主要解决大数据的前期功能,即数据来源方面问题,首选需要将数据通过各种途径采集和归集到大数据平台系统上,数据量规模越大,后期分析和挖掘越具有统计意义,但是这也带来一个问题,就是超大规模的数据量,早已不是TB,PB所能表示,所以对于数据存储的设备的压力呈指数级增长,所以分布式存储的需求应运而生。这部分主要就这几个方面,精选相关技术学习的书单,以期让大家在从整体上学习大数据技术和体系概念后,可以深度到每个技术模块和环节,找到最佳的解决方案。

一、数据采集

数据采集最简单理解就是用各种技术手段把数据归集到大数据处理系统中,从数据的来源分为两种途径:

(1)系统内部数据

系统内部数据主要是用来收集,统计和分析自营系统或平台的运行数据,用户数据,用户行为等大数据。

系统内部数据为系统本身可以掌握的,所以一般采取埋点的方式在系统前后端关键点位设置日志点,并通过分析系统日志、WEB日志等结构化的日志数据,来达到统计系统内部数据的目的。比如目前主流的Scribe,Flume和Sqoop等框架。

(2)系统外部数据

系统外部数据非系统本身所有,从来源又可以分为:

(a)从第三方平台来,这部分数据通常是通过合作等形式与其他关联平台建立数据同步通路,并通过数据接口等形式把对方平台数据同步过来,通常是格式化的或半格式化的数据。

(b)从网络上来,这部分数据就是俗称的数据抓取,搜索,爬取,即搜索引擎常用的网络爬虫,能在整个互联网上广泛的爬取数据,这部分的技术在Python技术这部分推荐过相应的书籍,有兴趣的同学可以翻阅前面的文章。最典型的就是Apache的Nutch项目。

这里就精选一本Flume的书籍,作为日志技术的学习资料:

1. Flume:构建高可用可扩展的海量日志采集系统


二、数据清洗


刚才说过采集过来的数据有结构化的数据,方面进行存储和提取分析,而大部分的应该是半结构化和无结构化的数据,这部分数据就需要进行一定的规整,同时在采集过程中,存在在错误数据,假数据,不完整数据等问题,所以需要对数据进行清洗,去除“脏数据”,保留有效数据。


数据清洗技术通常流程就是所谓ETL技术,ETL,就是Extract-Transform-Load的缩写,就是抽取,转换和加载,三个步骤。是数据清洗的核心。


我们可以从下面两本书中学习和领悟相关的技术和框架:


1. 数据清洗



2. 数据清洗与ETL技术(大数据系列丛书)

未完待续。。。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言