我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文讲解数据采集部分。

数据采集的设计,几乎完全取决于数据源的特性,毕竟数据源是整个大数据平台蓄水的上游,数据采集不过是获取水源的管道罢了。

在数据仓库的语境下,ETL基本上就是数据采集的代表,包括数据的提取(Extract)、转换(Transform)和加载(Load)。在转换的过程中,需要针对具体的业务场景对数据进行治理,例如进行非法数据监测与过滤、格式转换与数据规范化、数据替换、保证数据完整性等。

但是在大数据平台下,由于数据源具有更复杂的多样性,数据采集的形式也变得更加复杂而多样,当然,业务场景也可能变得迥然不同。下图展现了大数据平台比较典型的数据采集架构:


以下是几种比较典型的业务场景。

场景1:为了提升业务处理的性能,同时又希望保留历史数据以备数据挖掘与分析。

业务处理场景访问的数据库往往是RDB,可伸缩性较差,又需要满足查询与其他数据操作的实时性,这就需要定期将超过时间期限的历史数据执行清除。但是在大数据场景下,这些看似无用的历史数据又可能是能够炼成黄金的沙砾。因而需要实时将RDB的数据同步到HDFS中,让HDFS成为备份了完整数据的冗余存储。在这种场景下,数据采集就仅仅是一个简单的同步,无需执行转换。

场景2:数据源已经写入Kafka,需要实时采集数据

在考虑流处理的业务场景,数据采集会成为Kafka的消费者,就像一个水坝一般将上游源源不断的数据拦截住,然后根据业务场景做对应的处理(例如去重、去噪、中间计算等),之后再写入到对应的数据存储中。这个过程类似传统的ETL,但它是流式的处理方式,而非定时的批处理Job。

场景3:数据源为视频文件,需提取特征数据

针对视频文件的大数据处理,需要在Extract阶段加载图片后,然后根据某种识别算法,识别并提取图片的特征信息,并将其转换为业务场景需要的数据模型。在这个场景下,数据提取的耗时相对较长,也需要较多的内存资源。如果处理不当,可能会成为整个数据阶段的瓶颈。

在数据采集阶段,一个棘手问题是增量同步,尤其针对那种可变(即可删除、可修改)的数据源。在我们无法掌控数据源的情况下,通常我们会有三种选择:

  • 放弃同步,采用直连形式;
  • 放弃增量同步,选用全量同步;
  • 编写定期Job,扫描数据源以获得delta数据,然后针对delta数据进行增量同步

坦白说,这三种选择皆非最佳选择,但我也未尝发现有更好的方案。如果数据源端可以控制,我们当然也可以侦听数据源的变更,然后执行Job来更新采集后存储的数据。这些又可能牵涉到数据存储的选型,假设我们选择了Parquet格式作为数据存储,则Parquet是不允许变更的。若要应对这种场景,或许应该考虑ORC格式。

为了更高效地完成数据采集,通常我们需要将整个流程切分成多个阶段,在细分的阶段中可以采用并行执行的方式。在这个过程中,可能牵涉到Job的创建、提交与分发,采集流程的规划,数据格式的转换等。除此之外,在保证数据采集的高性能之外,还要考虑数据丢失的容错。

剖析大数据平台的数据采集相关推荐

  1. 剖析大数据平台的数据分析

    无论是采集数据,还是存储数据,都不是大数据平台的最终目标.失去数据处理环节,即使珍贵如金矿一般的数据也不过是一堆废铁而已.数据处理是大数据产业的核心路径,然后再加上最后一公里的数据可视化,整个链条就算 ...

  2. 架构师实践日 11.9 南京站报名 | 技术大牛带你剖析大数据平台内部演进中的挑战与实践...

    从互联网时代到物联网时代,数据成为了企业的核心资产,挖掘数据价值成为了企业数据探索.技术应用的重中之重,甚至将影响到企业未来的发展和商业模式.但大数据体量大.多样性.价值密度低.速度快等特征,也给大数 ...

  3. 构建大数据平台的必要性

    大数据平台统一管理.集中存储大数据资源,满足高并发,海量数据对高性能计算能力和大容量存储能力的需求,提供数据采集,数据计算,数据存储,数据分析,数据可视化等大量开放能力,确保各系统之间数据的互联互通和 ...

  4. 酷狗音乐的大数据平台重构

    眨眼就是新的一年了,时间过的真快,趁这段时间一直在写总结的机会,也总结下上一年的工作经验,避免重复踩坑.酷狗音乐大数据平台重构整整经历了一年时间,大头的行为流水数据迁移到新平台稳定运行,在这过程中填过 ...

  5. 移动大数据平台的架构、实践与数据增值(1)

    转转:感谢分享http://developer.51cto.com/art/201512/500294.htm APP是进入移动互联网的重要载体,故得到越来越多开发者的关注.打造APP,无论是开发.产 ...

  6. 移动大数据平台的架构、实践与数据增值

    吴磊,友盟公司数据平台负责人.目前主要负责Umeng移动数据分析平台的软件研发和系统架构.拥有10多年的软件开发经验,先后在大型通讯系统,通用搜索引擎以及海量数据分析等领域工作.在基础平台架构和海量数 ...

  7. 企业大数据平台技术体系架构

    2015年国务院向社会公布的<促进大数据发展行动纲要>明确提出了大数据的基本概念:大数据是以容量大.类型多.存取速度快.应用价值高位为主要特征的数据集合,正快速发展为对数量巨大.来源分散. ...

  8. 基于大数据平台的互联网数据采集平台架构介绍

    互联网的飞速发展将社会带入数据高度发达且公开的信息时代,数据对于企业经营.政府决策及社会动态分析等具有极其重要的作用,而如何大规模.快速采集数据成为技术焦点. 网络爬虫是按照一定规则自动游走爬取互联网 ...

  9. Hadoop大数据平台环境搭建注意事项,分布式数据采集,武汉数道云科技

    Hadoop大数据作为时代发展的产物,影响着互联网企业发展.以及企业关于品牌形象推广.政府有关民意采集.以及有关数据信息收集分类------ Hadoop技术的发展,带来了海量数据高效处理的能力,也给 ...

最新文章

  1. 一文全面解析 Postman 工具
  2. 使用Python,机器学习和深度学习的5个很棒的计算机视觉项目创意!
  3. 博客摘录:网络管理员的两天
  4. Linux下使用命令生成二维码
  5. gj7 对象引用、可变性和垃圾回收
  6. div设置宽度,实现不等比缩放,或设置最小宽度 min-width
  7. MVVM模式下实现拖拽
  8. cuda默认函数与c++冲突_好程序员Python教程系列-第8讲:函数和模块
  9. 第七章节 类的抽象(抽象类)
  10. 在主函数中输入10个等长的字符串。用另一函数对他们排序。
  11. WiFi图标在任务栏里不见了,提示:适配器Qualcomn Atheros QCA9377 Wireless Network Adapter遇到驱动程序或硬件相关的问题
  12. Premiere 五套特效转场插件合集 FilmImpact Transition Packs V3.6.11
  13. Smoothed Dilated Convolutions for Improved Dense Prediction
  14. 2021年中国MEMS话筒市场趋势报告、技术动态创新及2027年市场预测
  15. 一个大型网站图片服务器架构的演进
  16. vb访问服务器文件,VB6打开远程服务器文件
  17. 深入了解canvas标签(3)——使用图像
  18. 解决DoubanFM第三方客户端UI线程与工作线程交互问题
  19. Linux实现ppp拨号4G模块联网全球APN之亚美尼亚(Armenian)
  20. 数据库第一天 TAT

热门文章

  1. 距离向量算法_阿里北大:深度哈希算法最新综述
  2. python import re_Python标准库笔记(2) — re模块
  3. codeforces上红记
  4. 函数递归以及尾递归调用
  5. 使用 Async 和 Await 的异步编程
  6. mysql命令行执行外部文件
  7. C和指针笔记 3.8 static关键字
  8. 后台无刷新修改字段js
  9. VS2008 解决方案配置器,即Debug,Release 模式选择
  10. 使用dynDNS+openSSH+putty突破公司防火墙