大数据应用构建全解析
一、流处理与数据采集
流处理,从名称上就能看出,是对时间敏感的实时数据进行计算,通常涉及高速指标。在数据摄入时,会对这些流数据进行分析,用于质量检查等操作。
如果数据以应用日志、程序输出(如网络爬虫)、传感器数据、地理位置信息或社交媒体等流的形式存在,可以使用 Kafka 进行实时收集。Kafka 是一个开源的消息代理项目,旨在提供一个统一、高吞吐量、低延迟的平台来处理实时数据流。它本质上是一个可大规模扩展的发布/订阅消息队列,架构为分布式事务日志,对于企业基础设施处理流数据非常有价值。
Kafka 具有以下特点:
- 可轻松扩展以支持更多数据源和不断增长的数据量。
- 支持直接连接到 Spark。
- 每个传入数据源有一个主题,每个消费者组有一个主题。
- 每个主题的分区数量取决于数据大小。
除了 Sqoop 和 Kafka,还有一些专门的数据摄入工具,如 Apache Flume 和 Apache Chukwa,用于导入和聚合服务器和应用程序日志。Gobblin 也提供了一个数据摄入框架,用于聚合和规范化数据。
二、Lambda 架构与数据存储
当批量数据和流数据同时被摄入系统时,Lambda 架构非常有效。
数据存储有多种选择,如数据湖和数据仓库。云技术极大地满足了大数据存储系统的需求,通过简单的存储设备和虚拟机可扩展到 TB 和 PB 级别。
- 数据湖 :类似于一个存储水供多人使用的湖泊,数据湖是原始数据的存储库。收集的数据可能是非结构化的且经常变化,因此最初
超级会员免费看
订阅专栏 解锁全文
1415

被折叠的 条评论
为什么被折叠?



