本项目需要用到的知识:
- webserver、flume、HDFS、Kafka、Flink
- JAVA、Scala、Python、SQL
【可以用Kafka代替HDFS来保存和处理当天的数据,但Kafka中的数据不能永久保存,所以需要HDFS存储之前的数据;Flink既可以处理流数据,又可以处理静止的,所以不用hive来处理(hive不能处理流数据)】
—————————————————————————————
Hadoop
分布式的海量数据存储和离线处理框架。
HDFS:数据存储
Yarn:资源管理,任务调度
MapReduce:离线数据处理(计算)
Flume
分布式的高可用可伸缩的日志收集系统。用于收集,聚合,移动大量日志数据。是一个简单的流式处理框架。
重要概念:
1.Event,{“headers”:“info”,“body”:“log”},flume在接收到日志数据之后,就会将日志进行封装。【封装之后的文件叫Event】
2.Source,数据源,负责接收日志数据,并将其封装
3.Channel,缓存,接收Source传来的event,进行缓存,等待Sink的消费。
4.Sink,指定数据的目的地,消费Channel中缓存的数据。
5.Agent,Flume的所有节点都叫做Agent
消息队列
1.保证数据传输顺序
2.流量消峰(削峰平谷)
3.队列数据消费之后立即删除,能够保证数据不被重复消费
4.发布订阅数据由队列主动发布到所有订阅该消息的消费者端。能够支持多个消费者同时消费一样的数据
Hive
数据仓库:是面向主题的,稳定的,集成的,反应历史数据的数据存储系统。一般用于为管理者提供决策分析的数据支持。
推荐书籍
JAVA从入门到精通、码出高效、JAVA面试宝典
Python编程从入门到实践、Python计算机视觉
Scala程序设计,Spark快速大数据分析,Hadoop权威指南
机器学习
大数据分析师必学知识
Hadoop
Hive
Flume
Hbase
Redis
zookeeper
Kafka
Flink
Spark
TensorFlow
Alink