数据流水线架构

对数据的获取、存储、处理、分析、查询、可视化,构成了数据的完整生命周期,并为商业洞见提供支持。从技术上来说,有一系列的开源系统共同构成了数据处理的流水线。原文:Data Pipeline Architecture[1]

我经常对一些个人项目进行数据分析并尝试得出一些有用的结果。但我们都知道,在数据行业里没有干净的数据,总是需要对数据进行手工或者自动的处理。因此数据工程师应该首先考虑如何设计数据流水线,用于获取、存储和管理数据。

数据流水线在银行零售部门(retail banking industry)是如何运作的?

银行的零售部门总是基于数据来决定业务的运作,比如产品推荐、流失预测、贷款审批、客户细分等,通常其需要的数据不会很清晰。此外,将数据存储在一台机器中是非常危险和低效的,银行业应该转而使用大数据技术来处理。

当我们使用大数据技术进行数据处理的时候,并不是用一台机器来处理所有的事情,而是用5台机器来处理。使用更多的机器,系统速度会更快、更方便扩展、也更容易维护[2]

批处理数据流水线架构

通常需要考虑3个系统,分别是数据源、基础设施系统和终端系统(请注意,这只是我自己的解释,其他人可能会有不同的说法)。

批处理数据流水线架构

数据源(Data Sources)

数据的来源各种各样,如自动柜员机(ATM)、软件、用户交互、客户服务对话,并且大部分都包含事务性数据。可以将其视为数据市场(Data Mart),它是特定于数据仓库环境的结构以及访问模式,可用于检索面向客户的数据。收集到的所有数据都将存储在一台特定的机器上,这些是未经处理的原始数据。

基础设施系统(Infrastructure Systems)

这里有很多我们需要了解的系统,分别用于数据提取、数据调度、数据处理、数据仓库和查询引擎。

数据提取(Ingestions)

提取模块用于负责从数据源读取数据的过程,该模块通过API从每个数据源读取数据。在我们提取这些数据之前,需要首先进行数据剖析(data profiling)——通过检查其特征和结构,看看是否适合我们的业务。

之后,数据被分批提取。批处理流程可以在一个组里提取多组记录。在存储了很长时间的原始数据之后,通过这个过程提取数据。它并不会实时收集数据,而是按照计划执行,例如每周、双周、每月、季度和年度计划来提取数据。

Python是在这个过程中可以使用的工具之一。对于较小的项目来说,只用python就足够了。更大的项目可以使用任何支持数据提取的云服务,如GCP、Azure、AWS等。

数据调度(Scheduler)

调度器用来决定什么时候应该在其他平台上接收和处理数据。在上图中,可以使用Apache Airflow[3]为这种情况创建一个时间表。它将安排何时从数据仓库提取数据,何时处理数据。注意,Airflow不是数据流解决方案。

数据仓库(Warehouse)

数据仓库是我们存储从数据市场收集到的数据的地方。在GCP中,可以使用BigQuery和Cloud Storage进行存储。大多数情况下,BigQuery可以处理关系型数据,而Cloud Storage可以处理非结构化数据,如图像、声音、视频和文本。BigQuery和Could Storage之所以受到大多数公司的青睐,是因为它们提供了几乎从不间断的可用性,使我们不必担心和处理基础设施。我们需要考虑哪种BigQuery和Cloud Storage计划最适合我们的用例,从而尽可能优化总成本。不过要注意,并不是所有场景都适合云存储,尤其考虑到在银行零售业务中,某些政策可能会限制云存储的使用,比如不能将敏感数据分享给云服务商。因此,私有的现场数据库更适合这些策略。

数据处理(Processing)

当数据存储被存储到仓库中,就可以对其进行处理并转换为更合适的格式。BigQuery可以通过SQL查询来处理这个问题,但是使用Apache Spark可能会更加灵活。我们可以用python编写Apache Spark代码,对数据进行处理和转换,并存储到BigQuery中。Spark比pandas更适合处理大数据[4]。和pandas相比,Spark的缺点在于缺乏可视化的手段。

查询引擎(Query Engine)

查询引擎是编写SQL代码和提取请求数据的引擎,是位于数据库或服务器之上的一段软件,对数据库或服务器中的数据执行查询操作,为用户或应用程序提供答案,其获取的数据可能会被终端用户使用。查询引擎工具有BigQuery、Presto、Apache Drill、M3等。

终端系统(End Systems)

最后,终端用户通过各种应用程序接收处理、转换和存储的数据。数据分析师和商业智能系统可能会使用可视化工具,如Data Studio、Tableau、Qlik和PowerBI来创建一些仪表板或根据数据进行分析。数据科学家和机器学习工程师可以使用提取的数据来开发一些模型、A/B测试,并使用类笔记本应用程序(如jupyter notebook、谷歌colab和watson studio)找到一些有意义的商业洞见。

结论

最后,数据流水线的意义是为业务和数据团队提供现成的数据。对于数据工程师来说,为业务选择最合适、最有效的系统和基础设施是一个挑战。

参考文献

Reference:
[1] https://medium.com/@diemasaksyafachriza/data-pipeline-architecture-28687d7dce6b
[2] https://www.tutorialspoint.com/hadoop/hadoop_introduction.htm
[3] https://airflow.apache.org/docs/apache-airflow/stable/index.html
[4] https://towardsdatascience.com/stop-using-pandas-and-start-using-spark-with-scala-f7364077c2e0

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。
微信公众号:DeepNoMind

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容