核心做三件事
1 数据采集:把业务数据转移到hadoop
2 数据计算、存储 :
3 数据应用:把hadoop上数据转移到业务系统
1 数据采集
三种方式
1 HDFSAPI 调用接口,将数据写入到hadoop ;
2 sqoop:Hadoop 与传统关系型数据库(Oracle SQL server Mysql)的双向数据同步
3 Flume:是分布式的海量日志采集和传输框架,并不适合做关系型数据库的采集和传输,FLume可以从实时的网络协议、消息系统、文件系统采集日志,并传输到hdfds上;
4 DataX 阿里开源的工具,数据同步的
2 数据计算和存储
流式:实时计算 Storm、spark streaming
批式:离线计算 hive sparksql mapreduce
Hive 是计算引擎,后台使用MR计算执行,因为初衷是进行一次性计算,因此他的执行效率很低,计算速度是最大缺点;
因此目前有一些SQL on hadoop 的框架 如 impala,sparksql,presto ,这三种框架基于半内存或者全内存,提供了SQL接口快速查询分析hadoop上的数据;
数据一次采集,多次消费:Kafka
kafka是高吞吐的分布式发布订阅消息系统;
Flume和Kafka的集成,使用Flume监控日志,并将日志数据实时发送至Kafka。这时,使用Flume采集的数据,不是直接到HDFS上,而是先到Kafka,Kafka中的数据可以由多个消费者同时消费,其中一个消费者,就是将数据同步到HDFS。
调度 :Oozie
参考了这篇文章,讲的真好。