企业级大数据技术体系概述

本篇文章是对《大数据技术体系详解:原理、架构与实践》(作者:董西成 )一书的第一章节的整理。

常见使用场景

  • 互联网领域
    • 搜索引擎:帮助人们在大数据集上快速检索信息
    • 推荐系统:能够在用户没有明确目的的时候根据用户历史行为信息帮助他们发现感兴趣的内容。如电子商务、视频网站、新闻推荐
    • 广告投放:依据用户的历史行为信息及个人基本信息,为用户推荐最精准的广告
  • 电信领域
    • 网络管理和优化
    • 市场与精准营销
    • 客户关系管理
    • 企业运营管理
    • 数据商业化
  • 医疗领域
  • 金融领域
    • 客户画像
    • 精准营销
    • 风险管控
    • 运营优化

企业级大数据技术框架

从数据源开始,经过分析、挖掘到最终获得价值一般需要经过6个主要环节。分别是数据收集、数据存储、资源管理与服务协调、计算引擎、数据分析、数据可视化。
企业级大数据技术体系

  • 数据收集层:由直接与数据源对接的模块构成,负责将数据源中的数据近实时或实时收集到一起。
  • 数据存储层:负责海量结构化与非结构化数据的存储。
  • 资源管理与服务协调:资源统一管理理,提高资源利用率。使用服务协调组件来解决分布式系统中的例如leader选举、服务命名、分布式队列、分布式锁、发布订阅功能等问题。
  • 计算引擎层:用于完成计算任务
  • 数据分析层:直接与用户应用程序对接,为其提供易用的数据处理工具。
  • 数据可视化层:通过可视化技术将数据转换为图形或图像在屏幕上显示出来。

数据收集层特点

数据收集层的特点由是数据源决定。
数据源有如下几个特点:分布式(数据源分布在不同机器上,通过网络连接在一起)、异构性(生产数据的系统多种多样)、多样化(数据结构会有多种多样)、流式产生(数据源会源源不断的常胜数据)。
由于数据的以上特点,让数据收集层会有如下几个特点:扩展性(能够灵活适配不同的数据源,可接入大量数据源而不产生系统瓶颈)、可靠性(数据在传输的过程中不能丢失)、安全性(对一些敏感数据,有保证数据安全的机制)、低延迟

数据存储层特点

  • 扩展性(实际应用中,数据量会不断增加,需要非常好的线性扩展能力)
  • 容错性(需要有良好的容错机制确保机器出现故障时不会导致数据丢失)
  • 存储模型(由于数据的多样性,数据存储层应支持多种数据模型)

资源管理与服务协调层优点

资源利用率高、运维成本低、数据共享

计算引擎层分类

  • 批处理(时间要求最低,最求高吞吐率,典型的应用有搜索引擎构建索引、批量数据分析)
  • 交互式处理(时间要求高,需需要与人交互,因此会提供类SQL语言便于用户使用,典型应用有数据查询、参数化报表生成)
  • 实时处理(对时间要求最高,典型应用有广告系统、舆情检测)

Hadoop与Spark开源大数据技术栈

Hadoop与Spark大数据技术栈
整个技术栈涉及的层级为数据收集、数据存储、资源管理与服务协调、计算引擎、数据分析。

  • 数据收集层:Sqoop(将关系型数据中的数据全量导入Hadoop)、Canal(将关系型数据中的数据增量导入Hadoop)、Flume(收集非关系型数据,聚集后加载到HDFS等存储系统中)、Kafka(分布式消息队列,采用风不是高容错设计,更适合大数据应用场景)
  • 数据存储层:HDFS(Hadoop分布式文件系统,具有优良的扩展性和容错性)、HBASE(构建在HDFS之上的分布式数据库)、Kudu(分布式列式存储数据库)
  • 资源管理与服务协调:YARN(同意资源管理与调度系统)、Zookeeper(服务协调系统)
  • 计算引擎层:MapReduce(经典批处理计算引擎,具有良好的扩展性和容错性,允许用户通过简单的API编写分布式程序)、Tez(基于MapReduce开发的通用DAG计算引擎,能够更高效的实现复杂的数据处理逻辑)、Spark(通用的DAG计算引擎,允许用户充分利用内存进行快速的数据挖掘和分析)、Impala/Presto(允许用户使用标准的SQL处理存储在Hadoop中的数据)、Storm/Spark Streaming(分布式流式实时计算引擎,能够高效处理流式数据)
  • 数据分析层:Hive/Pig/SparkSQL(在计算引擎之上构建的支持SQL或脚本语言的分析系统)、Mahout/MLlib(在计算引擎上构建的机器学习库)、Apache Beam/Cascading(基于各类计算宽假而封装的高级API)

大数据架构

LA架构

在这里插入图片描述
LA架构主要是结合批处理和流式计算技术在延迟、吞吐量和容错之间找到一个平衡点。

推荐系统

以推荐系统数据流水线架构为例
在这里插入图片描述

  1. 数据统一流入kafka,之后按照不同粒度导入批处理和流式处理两个系统中。
  2. 批处理:批处理拥有所有的历史数据,将所有的数据作为依据,通过特征工程、模型构建及模型评估等计算环节后,最终获得最优的模型并将产生的推荐结果存储起来,整个过程耗时比较长。
  3. 流式处理:收集用户数据后通过简单的推荐算法快速产生推荐结果并存储起来。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leo的心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值