大数据学习

   做大数据几个月以来,了解到一些基础知识,自己总结一下大数据不同框架在开发中扮演得角色:

    从整体来看:大数据一个关于数据得故事,从数据收集、提取、清洗、筛选、存储(关系型数据库,文件)、数据得可视化这是整个流程,在每一个阶段都有相应得框架,组件帮助我们处理。

   学习大数据不得不了解hadoop家族,spark家族

  hadoop的核心是HDFS文件系统,MapReduce 基于在Hadoop的基础上,有很多框架帮助我们处理数据

1 从数据的采集开始Flume

     Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合 和传输的系统,Flume 支持在日志系统中定制各类数据发送方,用于收集数据;同时, Flume 提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

大数据学习Flume的体系结构的核心: agent = source + channel + sink 
source 组件采集日志源到Channel缓存,然后输送到sink组件,将日志信息写到目的地保存到HDFS/HBase/HDFS

Event: 一个数据单元,带有一个颗选的消息头 

Flow:Event从源点到达目的点的迁移的抽象 

Client:操作位于源点处的Event,将其发送到Flume Agent 
Agent:一个独立的Flume进程,包含组件Source、Channel、Sink 
    Source:用来消费传递到该组件的Event(采集日志) 
    Channel:中转Event的一个临时存储,保存有Source组件传递过来的Event 

    Sink:从Channel中读取并移除Event,将Event传递到Flow Pipeline中的下一个Agent(如果有的话)

2 Kafka作为消息队列     Kafka/metaq 实时数据存储

  使用kafka能够增强系统的吞吐量