剖析大数据平台的数据采集
我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文讲解数据采集部分。
数据采集的设计,几乎完全取决于数据源的特性,毕竟数据源是整个大数据平台蓄水的上游,数据采集不过是获取水源的管道罢了。
在数据仓库的语境下,ETL基本上就是数据采集的代表,包括数据的提取(Extract)、转换(Transform)和加载(Load)。在转换的过程中,需要针对具体的业务场景对数据进行治理,例如进行非法数据监测与过滤、格式转换与数据规范化、数据替换、保证数据完整性等。
但是在大数据平台下,由于数据源具有更复杂的多样性,数据采集的形式也变得更加复杂而多样,当然,业务场景也可能变得迥然不同。下图展现了大数据平台比较典型的数据采集架构:

以下是几种比较典型的业务场景。
场景1:为了提升业务处理的性能,同时又希望保留历史数据以备数据挖掘与分析。
业务处理场景访问的数据库往往是RDB,可伸缩性较差,又需要满足查询与其他数据操作的实时性,这就需要定期将超过时间期限的历史数据执行清除。但是在大数据场景下,这些看似无用的历史数据又可能是能够炼成黄金的沙砾。因而需要实时将RDB的数据同步到HDFS中,让HDFS成为备份了完整数据的冗余存储。在这种场景下,数据采集就仅仅是一个简单的同步,无需执行转换。
场景2:数据源已经写入Kafka,需要实时采集数据
在考虑流处理的业务场景,数据采集会成为Kafka的消费者,就像一个水坝一般将上游源源不断的数据拦截住,然后根据业务场景做对应的处理(例如去重、去噪、中间计算等),之后再写入到对应的数据存储中。这个过程类似传统的ETL,但它是流式的处理方式,而非定时的批处理Job。
场景3:数据源为视频文件,需提取特征数据
针对视频文件的大数据处理,需要在Extract阶段加载图片后,然后根据某种识别算法,识别并提取图片的特征信息,并将其转换为业务场景需要的数据模型。在这个场景下,数据提取的耗时相对较长,也需要较多的内存资源。如果处理不当,可能会成为整个数据阶段的瓶颈。
在数据采集阶段,一个棘手问题是增量同步,尤其针对那种可变(即可删除、可修改)的数据源。在我们无法掌控数据源的情况下,通常我们会有三种选择:
- 放弃同步,采用直连形式;
- 放弃增量同步,选用全量同步;
- 编写定期Job,扫描数据源以获得delta数据,然后针对delta数据进行增量同步
坦白说,这三种选择皆非最佳选择,但我也未尝发现有更好的方案。如果数据源端可以控制,我们当然也可以侦听数据源的变更,然后执行Job来更新采集后存储的数据。这些又可能牵涉到数据存储的选型,假设我们选择了Parquet格式作为数据存储,则Parquet是不允许变更的。若要应对这种场景,或许应该考虑ORC格式。
为了更高效地完成数据采集,通常我们需要将整个流程切分成多个阶段,在细分的阶段中可以采用并行执行的方式。在这个过程中,可能牵涉到Job的创建、提交与分发,采集流程的规划,数据格式的转换等。除此之外,在保证数据采集的高性能之外,还要考虑数据丢失的容错。
剖析大数据平台的数据采集相关推荐
- 剖析大数据平台的数据分析
无论是采集数据,还是存储数据,都不是大数据平台的最终目标.失去数据处理环节,即使珍贵如金矿一般的数据也不过是一堆废铁而已.数据处理是大数据产业的核心路径,然后再加上最后一公里的数据可视化,整个链条就算 ...
- 架构师实践日 11.9 南京站报名 | 技术大牛带你剖析大数据平台内部演进中的挑战与实践...
从互联网时代到物联网时代,数据成为了企业的核心资产,挖掘数据价值成为了企业数据探索.技术应用的重中之重,甚至将影响到企业未来的发展和商业模式.但大数据体量大.多样性.价值密度低.速度快等特征,也给大数 ...
- 构建大数据平台的必要性
大数据平台统一管理.集中存储大数据资源,满足高并发,海量数据对高性能计算能力和大容量存储能力的需求,提供数据采集,数据计算,数据存储,数据分析,数据可视化等大量开放能力,确保各系统之间数据的互联互通和 ...
- 酷狗音乐的大数据平台重构
眨眼就是新的一年了,时间过的真快,趁这段时间一直在写总结的机会,也总结下上一年的工作经验,避免重复踩坑.酷狗音乐大数据平台重构整整经历了一年时间,大头的行为流水数据迁移到新平台稳定运行,在这过程中填过 ...
- 移动大数据平台的架构、实践与数据增值(1)
转转:感谢分享http://developer.51cto.com/art/201512/500294.htm APP是进入移动互联网的重要载体,故得到越来越多开发者的关注.打造APP,无论是开发.产 ...
- 移动大数据平台的架构、实践与数据增值
吴磊,友盟公司数据平台负责人.目前主要负责Umeng移动数据分析平台的软件研发和系统架构.拥有10多年的软件开发经验,先后在大型通讯系统,通用搜索引擎以及海量数据分析等领域工作.在基础平台架构和海量数 ...
- 企业大数据平台技术体系架构
2015年国务院向社会公布的<促进大数据发展行动纲要>明确提出了大数据的基本概念:大数据是以容量大.类型多.存取速度快.应用价值高位为主要特征的数据集合,正快速发展为对数量巨大.来源分散. ...
- 基于大数据平台的互联网数据采集平台架构介绍
互联网的飞速发展将社会带入数据高度发达且公开的信息时代,数据对于企业经营.政府决策及社会动态分析等具有极其重要的作用,而如何大规模.快速采集数据成为技术焦点. 网络爬虫是按照一定规则自动游走爬取互联网 ...
- Hadoop大数据平台环境搭建注意事项,分布式数据采集,武汉数道云科技
Hadoop大数据作为时代发展的产物,影响着互联网企业发展.以及企业关于品牌形象推广.政府有关民意采集.以及有关数据信息收集分类------ Hadoop技术的发展,带来了海量数据高效处理的能力,也给 ...
最新文章
- 一文全面解析 Postman 工具
- 使用Python,机器学习和深度学习的5个很棒的计算机视觉项目创意!
- 博客摘录:网络管理员的两天
- Linux下使用命令生成二维码
- gj7 对象引用、可变性和垃圾回收
- div设置宽度,实现不等比缩放,或设置最小宽度 min-width
- MVVM模式下实现拖拽
- cuda默认函数与c++冲突_好程序员Python教程系列-第8讲:函数和模块
- 第七章节 类的抽象(抽象类)
- 在主函数中输入10个等长的字符串。用另一函数对他们排序。
- WiFi图标在任务栏里不见了,提示:适配器Qualcomn Atheros QCA9377 Wireless Network Adapter遇到驱动程序或硬件相关的问题
- Premiere 五套特效转场插件合集 FilmImpact Transition Packs V3.6.11
- Smoothed Dilated Convolutions for Improved Dense Prediction
- 2021年中国MEMS话筒市场趋势报告、技术动态创新及2027年市场预测
- 一个大型网站图片服务器架构的演进
- vb访问服务器文件,VB6打开远程服务器文件
- 深入了解canvas标签(3)——使用图像
- 解决DoubanFM第三方客户端UI线程与工作线程交互问题
- Linux实现ppp拨号4G模块联网全球APN之亚美尼亚(Armenian)
- 数据库第一天 TAT