Skip to content

Commit 050af6a

Browse files
committed
change: “引言”重命名为“前言”;完善前言表述
1 parent 3b193e8 commit 050af6a

2 files changed

Lines changed: 48 additions & 14 deletions

File tree

index.md

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,59 @@
1-
# 引言
1+
# 前言
2+
3+
这本教程将介绍一个你在日常工作或学习中经常碰到但可能不太了解的专业知识——"数据工程"。它教你如何更高效地处理数据,让数据工作不再那么复杂纠结,比如,采集数据时如何自动完成、分析数据时如何减少错误、与别人共享数据时应注意什么等。通过阅读这本教程,你将掌握处理数据的有效方法,工作或学习中的数据问题也会更容易解决。
4+
5+
## 什么是数据工程?
6+
7+
% 背景
8+
9+
假如你是一个正在完成课程作业的商学院高校学生,或者是一个帮助其他同事分析数据的办公室白领,或者是科研工作者、市场分析师、投资机构研究员等任何可能需要分析数据的角色,你可能每天都在收集和整理不同来源、不同原始格式的数据,使用Excel等工具预处理已有变量、计算想要的结果、通过图表展示结果,并且把结果提交给老师、上级、客户、同事等其他人。在反复做数据分析的过程中,你是否感觉到有很多和分析无关的重复工作十分枯燥乏味,一不小心就容易出错、并且出错还会对分析结果有很大影响?你是否有思考过如何可以提升效率和质量?
210

311
% 定义
412

5-
什么叫数据工程?广义地,解决数据分析过程中的软件工程相关问题,让数据分析人员能够更专注于数据分析本身。狭义地,就是指其中的基础设施,我们要做的数据云就是这样一类东西。
13+
数据工程就是解决这类问题的方法论。我们应用软件工程的方法和技术,我们采用软件工程的方法论和技术手段,为数据分析过程中的重复性问题提供可重复使用的解决方案,从而让数据分析人员可以更加流畅地执行分析过程、专注于分析问题本身。这些解决方案中,许多都需要专门处理某一类任务的复杂基础设施支持,因此有专家专注于搭建和维护这些基础设施。我们把这些专家称为“数据工程师”,狭义上的“数据工程”指的就是他们的职责范围。
14+
15+
% 意义
16+
17+
无论是一个数据分析人员围绕Excel做数据分析,还是成千上万人围绕海量数据的协同,在数据工程领域都会面临类似的挑战,也因此可以适用类似的方法。因此,数据工程无论对于个人还是组织、对于小团队还是大团队,都是有普适意义的。深入理解数据工程的思路、方法和工具,有利于这些问题的解决。
18+
19+
## 本书内容如何组织?
20+
21+
我们将会以从局部到整体的方式,逐步建立对整个数据工程领域问题的系统理解。我们先通过设定严格的假设,着眼于某一个具体环节,深入阐述其中的问题和解决方案;然后,再逐步放宽假设,从而暴露出整体流程中的一些关键问题及其相互影响关系,以方便阐述对应的解决方案。
22+
23+
### 数据生命周期
24+
25+
假设只有你一个人负责整个数据分析流程。比如,量潮的前身,研究线上平台价格的经济学课题组China's Prices Project。假设你是创始人,你需要编写爬虫程序,每日采集多个电商网站商品价格和销量数据,经预处理标准化后计算线上价格指数,并以报表形式展示结果;分析完成后,原始和中间数据将逐步备份,以节省存储空间。
26+
27+
我们将会使用“数据生命周期”的概念来描述整个数据从产生到消失的全过程,包括采集、存储、预处理、分析、可视化、传输、备份等。我们计划参考已有的各机构和学者对数据生命周期的理解,对此概念进行严谨全面的定义。在此基础上,我们将介绍各个阶段可能会遇到的常见问题,并给出相应的解决方案,帮助读者建立一个系统的问题与解决框架。较复杂的技术细节,将会在以后独立的教程中详细阐述,例如网页爬虫教程、数据分析教程、数据库教程等。
28+
29+
### 系统治理
30+
31+
现在,我们放宽之前的假设。假设在China's Prices Project项目组中,有多个人共同协作完成价格指数的编制。例如,你负责采集多个电商平台的原始数据,小明负责汇总和对齐多个平台的价格和销量数据,小红负责分析数据和绘制线上价格指数。由于每个人的任务都直接影响后续工作,所以团队成员在信息交流和工作流程管理上需要密切配合。例如,你采集的数据格式需要与小明的需求匹配,小明对齐好的数据也要方便小红进行下游分析;作为数据采集人和分析人,你与小红在一些技术细节或问题理解上,由于背景和思考角度的差异还可能会产生一定程度上的误解。只有通过密切的协作与交流,才能让项目顺利进行。
32+
33+
我们从系统工程的视角为这个问题提供解决方案。其中一个重要原则是增加系统的可观测性。我们可以设法实时跟踪每个阶段数据的流向和质量变化过程,比如设计和使用数据流程监控平台来追踪数据在每个步骤流向何处、数据质量如何,以便及时发现和诊断问题,进而不断提高整个系统的稳定性。另一个重点是管理系统中的依赖关系,好的编排工具能够清晰展示不同处理环节的先后顺序,有助于各成员对整体工作流程的统一理解,避免因误解而导致的问题。增加系统间的解耦能力也很重要。一旦某个环节出现问题,应设计好机制把影响范围限制在最小范围内,不影响其他正常运行中的流程。这就需要提前针对可能的异常情况,设计对应的隔离机制。
34+
35+
### 研发流程管理
636

7-
% 概述
37+
在实际工程实施过程中,人之常情难免会犯错。但是,小错误往往会产生意想不到的后果。在China's Prices Project项目组构建电商价格指数时,其中一个关键步骤就是从各大平台网站采集商品价格和销量数据。如果我们使用的网页爬虫由于未知原因突然不能正常工作,但我们没有及时收到监控异常提示,因此没有及时修改和重新部署爬虫代码,那么就可能会导致数日或更长时间内的数据无法采集,丢失大量宝贵信息。
838

9-
整个Economy中有很多组织和个人在和数据打交道。组织和组织之间、组织内的不同角色之间、个人自己。我们从局部到整体来建立对整个过程的认知。我们先通过严格的假设关注某一个环节,然后释放一些假设来暴露整体的问题
39+
即使你对相关领域已经很熟悉,如果不严格遵循标准化的工作流程,项目质量也难以得到保障。这就是研发流程管理之所以成为必不可少的原因。我们计划按照DataOps提出的清晰明确的工作流程进行研发,遵循设计、开发、再构建、测试、发布、部署、运维、监控等顺序。这样就可以在每个阶段进行必要的检查和验证,及时发现和解决问题点,提升研发效率和产品质量
1040

11-
% 个人、单个流程
41+
### 数据共享
1242

13-
首先,假设在一个团队中,只有一个人负责完成整个项目。然后,我们需要考虑如何按照完整的流程进行工作,这是我们自己在项目组织中最基本的形式。无论是独自完成还是与几个合伙人一起工作,每个人负责一个项目并将其完整地推进下去。因此,你选择使用数据生命周期的概念来描述整个数据从产生到消失的全过程。我们计划对数据生命周期进行严谨的定义,最好能够涵盖市面上所有关于数据生命周期的理解,以提供更准确的认识。你还计划介绍各种可能遇到的问题,并提供解决方案。这部分的高级内容将会分散在其他教程中,比如爬虫教程和数据分析教程等。在这个数据工程教程中,你的重点将是讲解工程问题以及如何解决这些问题
43+
在实际商业环境中,不同组织之间的数据合作往往需要面临许多问题的解决。比如,量潮使用China's Prices Project积累的技术为客户提供一套线上价格监控平台。该平台需要整合各家网站商品数据,进行横向分析,并提供定价建议。但由于数据格式标准不一致,直接整合使用将导致大量错误。个别敏感字段,如买家姓名,如果直接共享,也会触犯隐私法规。此外,参与各方在收集与应用数据上的权责需要明确规定
1444

15-
% 系统
45+
我们计划介绍制定统一的数据字段和结构标准的方案。对于敏感信息的存储和分享,我们计划介绍数据加密、数据脱敏、隐私计算等数据安全技术。商业数据的交易环节会涉及到财务和法务知识,因此我们将介绍如何评估数据资产的价值、如何制定多方数据使用授权实践等。网页爬虫等技术需要合规,因此我们也会接受合规评估方案。
1646

17-
现在我们放开之前的假设,假设在一个团队中有多个具有相同知识背景的人一起协作完成一个项目。我们需要考虑整个流程,并进行梳理。在这种情况下,团队中的不同人员需要进行协作,比如我和我的合伙人一起合作完成项目。为了实现协作,我们需要工具和方法来观察整个项目的进展,进行编排等。同时,可能还会遇到分析师和工程师之间的沟通障碍等复杂情况。因此,团队成员之间的协作需要通过一定的方式来完成。与之前的假设相似,这种协作中也需要考虑可观测性、编排等工具,以及解决分析师和工程师之间可能出现的障碍。
47+
### 数据工程平台
1848

19-
% 管理
49+
在长期的实践中,我们深刻认识到,数据分析流程中的步骤通常较多,任何一个步骤出现问题都可能对整个分析流程产生负面影响。假设有个平台,它可以积累在某个处理环节的经验,以提高构建处理流程的效率;可以更透明地展示每个项目的完整流程,以提高团队协作水平;可以严格地约束开发者的行为,以确保工程质量;最后,帮助减少跨组织分享的成本,最终实现数据的价值。
2050

21-
实际的工程中,人是会犯错的,而小错误经常会带来灾难性的后果。在实际工程中,即使我们对领域非常熟悉,如果不遵守一些严谨的过程,项目的质量也会受到影响。这就是为什么工程管理非常重要的原因。在工程项目中,遵循一定的流程和规范可以确保工作的质量和效率。比如按照先开发、再测试、再上线、再触发、再运行、再监控的流程进行工作,可以帮助我们在每个阶段都进行必要的检查和验证,发现和解决问题,并提高项目的稳定性和可靠性。工程管理的目标是提供一个严谨的流程,确保工作能够按照规范和标准进行,从而减少错误和风险,并提高项目的质量和可靠性。它涉及到项目计划、资源分配、进度控制、质量管理、风险管理等方面的工作,以确保项目的顺利进行和成功交付
51+
我们正在研发的量潮数据云正是为了满足上述需求而创建的平台。我们计划提供持续交付数据集和应用的功能,通过集成Serverless计算等标准云服务来提高数据处理流程的效率。我们计划通过引入可观测性和工作流等功能来加强系统治理,以确保平台的稳定性和可靠性。我们还会通过拓展DevOps解决方案为平台用户提供符合DataOps规范的研发管理流程管理。我们的平台还支持与自研或社区金融法务SaaS以及数据交易所等进行打通,最大程度地扫清数据共享的障碍。我们致力于为用户提供一站式的数据工程管理和协作平台,帮助我们的用户从繁琐复杂的数据工程问题中解脱出来,专注于自己的数据分析工作
2252

23-
% 考虑跨组织共享
53+
## 阅读指南
2454

25-
假设不同组织之间协作,在实际的商业环境之中,我们的数据可能需要交易,可能需要交付,可能需要共享,然后呢,怎么去处理,比如说数据大家的字段要怎么一致,然后。数据的敏感数据要怎么去保护,嗯,甚至包括比如说大家用怎么用隐私计算去算这些环节,再比如说怎么去解决这个各种法律问题呀,各种财务问题啊,比如说数据资产的评估和管理呀。法法律问题,主要是这个合规呀,还有以及各种使用协议呀,各种所有权呀,各种各样的问题
55+
对于媒体记者等不需要实际操作的读者,我们希望这本教程可以起到扫盲作用。您可以初步了解数据工程这个新兴领域的基本概念,例如各个处理环节的含义,以及它在不同行业中的应用场景。理解这些就可以,无需深入解读各个技术细节
2656

27-
% 如何做数据工程平台
57+
对于需要日常参与数据分析工作的各类分析人员,我们希望通过示例详细阐述每一个数据处理步骤的具体操作方法,从数据采集到数据清洗、转换、分析建模到上线部署等全流程,让您掌握进行数据分析过程中需要的必要数据工程相关的思路、方法和工具。
2858

29-
然后最后一个部分我还没加,我是计划再加一个如何去做一个platform,就是把我们如何去做数据云的指导思想也给写上去,然后呢,就是阐述我们认为在这样的流程之下,有哪些环节还有很多可以改进的地方,如果我们要去做一个platform,我们要去怎么做,然后完整的思路大概就是这样
59+
对于已在数据工程领域工作过的从业人员,本教程主要起到梳理和串联知识体系的作用。您可能需要参考更专业的专业书籍或论文,进一步深入研究每个技术细节和方法论,以应对实际产品或研发项目中的技术难点

quick_start/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@
33
% 原则
44

55
从小数据到大数据。把大数据问题变成小数据问题。
6+
7+
协同原则是尽可能共享
8+
9+
管理原则是标准化流程是提示

0 commit comments

Comments
 (0)