Part I: 数据采集
1.1 Kafka
Kafka是 流处理中间件,说白了就是储存在缓存中的消息队列;
- 实时数据(流数据)产生比较快,而大数据平台Hadoop之类处理比较慢,Kafka相当于起了缓存的作用;
- 位置大体在数据采集(如云上数据)和大数据平台Hadoop之间;
- Kafka存在的好处就是,对实时数据缓存,并建立队列,划分Topic主题,这样可以允许数据生产者写数据,方便读取实时数据的消费者读数据;
- 读取Kafka数据,不影响实时数据写入大数据平台 - 消费者消费是只读,不会删除;
- Kafka消息队列的数据,分布在不同Partition下的不同segment中,消息达到一定量,或者超过一定时间,就会写入Hadoop (磁盘)中;
Part II: 数据处理
2.1 流处理
Flink
STORM
Spark streaming
2.2 交互式分析
2.3 批处理
SPARK
HADOOP
Part X: 设计三个AI架构
Part XX: 大数据技术开发文化
开源文化:
- 大数据是基础设施不是一家公司或者个人就能完成;
- 基础设施技术是一个方面,还需要应用的支持;
DevOps:
开发团队需要和运营有紧密的结合才能有更高效的产品;以下工作有助于加强紧密合作。
- 敏捷开发;
- 减少变更范围;
- 加强发布协调;
- 部署自动化;
速度远比你想的重要 --- 这一点对鄙人是最大的教训
效率高的明显好处是单位时间内能完成更多的工作。如果工作速度快,你就会倾向于降低做事成本的估算,因而乐于完成更多的工作。
如果一直往TODOLIST里面添加拖着不做的事情,总有一天,TODOLIST会被弃用。
- 从给别人的印象讲:
如果及时回复别人的邮件,他们就乐于给我们发送更多的邮件。是速度带来了更多的邮件 - 包含相应时间和做事时间的综合反馈。职场中也是同样的道理,做事快的员工会被分配到更多的工作。将工作分配给做事慢的员工去做,光是想想就觉得厌倦。当你要分给这种人工作时,脑海了就会浮现出进程被耽误好几天的情形,会不自觉地看见这些人拖延工作的样子。但做事快的人就不一样,他们的时间看起来“很便宜”,你让他们做某些事情的时候,就知道他们很快会做完,马上就可以再分给他们别的事情做,所以你就会更倾向于分给他们更多的任务。人们都喜欢有生机的东西,喜欢反馈及时的系统。
- 对于个人:
当我们认为某项工作很慢时,就会潜移默化地为其添加额外成本。每次想到这种工作,就会情不自禁地想去拖延。
这就是速度为什么重要的原因。
- 建议:
对于要重复很多次且必须要做好的事情,比如修bug,尤其是让人感觉特别费时的事情,就应该尽量做快一些,不要在上面耗着。
这并非建议马虎行事,督促自己比平常做快一些是好事情,因为在你心里,这将花费更少的时间,也更容易迈出开始的脚步,你能完成的工作将会更多。在做更多的同时,质量也会更好(只要你认真),最终达到又快又好的效果。
做事快很有趣。如果你是一个快笔头的写手,就可以经常试验“新”想法,而不会陷入某个泥潭中挣扎很久。你的TODOLIST可以很快划掉,更乐意往里面添加新东西。随着你不断完成更多的稿子,整个工作充满活力。你会感觉自己聪明能干,脚踏实地。当有大任务出现时,你就敢挺身而出。
参考文献:
1. 大数据平台架构设计探究 https://mp.weixin.qq.com/s/WlI-nU3hv5NC4_pPC_7jYg
2. << 大数据架构详解 >>