1. 布景和技巧
1.1. 数据工程是一个快速发展的领域,对于若何成为又名数据工程师仍然存在好多问题
1.2. 进入数据工程领域的东谈主在老师、功绩和技巧方面有着不同的布景
1.2.1. 每个进入该领域的东谈主皆应该插足多数的时候进行自学
1.3. 从一个阁下的领域转到数据工程是最容易的
1.3.1. 软件工程
1.3.2. ETL开发
1.3.3. 数据库经管
1.3.4. 数据科学
1.3.5. 数据分析
1.3.6. 这些学科倾向于“数据感知”,并为组织中的数据变装提供邃密的布景
1.4. 数据工程师还必须了解数据滥用者(数据分析师和数据科学家)的需求以及数据对扫数这个词组织的更等闲影响
1.5. 数据工程是一种全体践诺,最好的数据工程师通过业务和工夫视角来看待他们的职责
2. 业务职责
2.1. 宏不雅职责并不是数据工程师畸形的,而是对于任安在数据或工夫领域使命的东谈主来说皆至关伏击的职责
2.2. 知谈若何与非工夫东谈主员和工夫东谈主员交流
2.2.1. 沟通是重要,你需要偶而与扫数这个词组织的东谈主确立融洽的关系和信任
2.2.2. 关注组织档次结构、谁向谁汇报、东谈主们若何互动以及存在哪些孤岛
2.3. 了解若何界定并汇集业务和产物需求
2.3.1. 你需要知谈要构建什么,并确保你的利益关连者答应你的评估
2.3.2. 培养对数据和工夫决策若何影响业务的矫健
2.4. 了解敏捷、DevOps和DataOps的文化基础
2.4.1. 许多工夫群众不实地觉得这些践诺不错通过工夫科罚
2.5. 适度老本
2.5.1. 当你偶而在提供庞大价值的同期保执低老本,你就会告捷
2.6. 执续学习
2.6.1. 数据领域让东谈主嗅觉像是在以光速变化
2.7. 一个告捷的数据工程师老是会放大视线以了解大局,并探索若何为企业已毕庞大价值
2.8. 平素看到数据团队的告捷基于他们与其他利益关连者的沟通,成败很少取决于工夫
3. 工夫职责
3.1. 数据工程人命周期的底层盘算
3.1.1. 安全
3.1.2. 数据经管
3.1.3. DataOps
3.1.4. 数据架构
3.1.5. 编排
3.1.6. 软件工程
3.2. 数据工程师应该具有坐蓐级软件工程能力
3.3. 工程师当今使用托管开源和浅易的即插即用软件即作事(Software-as-a-Service,SaaS)产物
3.4. 即使在一个更详尽的寰宇中,软件工程最好践诺提供竞争上风,而偶而深刻征询代码库的深层架构细节的数据工程师在出现特定工夫需求时可为他们的公司提供上风
3.4.1. 无法编写坐蓐级代码的数据工程师将受到严重不容,而且咱们觉得这种情况不会很快编削
3.5. 数据工程的主要谈话
3.5.1. SQL
3.5.1.1. 数据库和数据湖最常用的接口
3.5.1.2. SQL是一个强劲的器具,不错快速科罚复杂的分析和数据疗养问题
3.5.1.3. SQL的分歧理灵验性
3.5.1.3.1. 不错通过使用声明式、汇聚论SQL语义来处理海量数据
3.5.1.3.2. 鉴于时候是数据工程团队隐隐量的主要扫尾要素,工程师应该禁受兼具浅易性和高坐蓐率的器具
3.5.1.3.3. 专科的数据工程师不错识别SQL何时不是恰当该使命的器具,况兼不错选择合适的替代决策并编写代码
3.5.1.3.4. SQL群众可能会编写查询以在当然谈话处理(Natural Language Processing,NLP)管谈中对原始文本进行词干化和美艳化,但也会矫健到使用本机Spark进行编码是这种受虐闇练的更好替代决策
3.5.2. Python
3.5.2.1. 数据工程和数据科学之间的桥梁谈话
3.5.3. JVM谈话
3.5.3.1. Java和Scala
3.5.3.2. 流行于Apache开源神情,举例Spark、Hive和Druid
3.5.3.3. JVM平素比Python性能更高
3.5.3.4. 不错提供对比Python API(举例,Apache Spark和Beam即是这种情况)更初级别的功能的造访
3.5.4. bash
3.5.4.1. Linux操作系统的大喊行接口(Command Line Interface,CLI)
3.5.5. R、JavaScript、Go、Rust、C/C++、C#和Julia
3.5.5.1. 事实证据,JavaScript作为云数据仓库顶用户界说函数的谈话很受接待
3.5.5.2. C#和PowerShell对于期骗Azure和Microsoft生态系统的公司来说是必不成少的
3.6. 关注基本面以了解不会编削的东西
3.7. 关注执续的发展,了解该领域的发展标的
3.8. 新的范式和践诺一直在被引入,你有包袱与时俱进
3.9. 努力了解新工夫将如安在人命周期中进展作用
4. 变装的连气儿性
4.1. 数据工程师并非皆从事不异类型的使命或领有同样的技巧组合
4.2. 数据老练度是一个了解公司在提高数据能力时将面对的数据挑战类型的有用带领
4.3. A型数据科学家
4.3.1. A代表分析(Analysis)
4.3.2. 专注于交融数据并从中取得知竭力
4.4. B型数据科学家
4.4.1. B代表构建(Building)
4.4.2. 与A型数据科学家有着相似的布景,并领有强劲的编程技巧
4.4.3. B型数据科学家确立使数据科学在坐蓐中进展作用的系统
4.5. A型数据工程师
4.5.1. A代表详尽化(Abstraction)
4.5.2. 在这种情况下,数据工程师幸免了无鉴别的忙碌使命,保执数据架构尽可能详尽和径直,而不是从新发明轮子
4.5.3. A型数据工程师主要通过使用统统现成的产物、托管作事和器具来经管数据工程人命周期
4.5.4. A型数据工程师在百行万企、多样品级的数据老练度的公司中使命
4.6. B型数据工程师
4.6.1. B代表构建(Build)
4.6.2. B型数据工程师确立数据器具和系统,以彭胀和期骗公司的中枢竞争力和竞争上风
4.6.3. 在数据老练度范围内,B型数据工程师更常见于处于第2阶段和第3阶段(通过数据彭胀和当先)的公司,或者当启航点数据用例相称畸形且重要以致需要自界说数据器具来启航点时
5. 组织里面的数据工程师
5.1. 数据工程师不是在真空中使命
5.2. 证据他们从事的使命,他们将与工夫东谈主员和非工夫东谈主员互动,并面对不同的标的(里面和外部)
5.3. 面向里面与面向外部的数据工程师
5.3.1. 面向外部的数据工程师平素与面向外部的应用门径的用户保执一致
5.3.1.1. 外交媒体应用门径、物联网(Internet of Things,IoT)开辟和电子商务平台
5.3.2. 面向外部的数据工程带来了一系列畸形的问题
5.3.2.1. 面向外部的查询引擎平素比面向里面的系统处理更大的并发负载
5.3.2.2. 工程师还需要斟酌对用户不错运行的查询进行严格扫尾,以扫尾任何单个用户对基础设施的影响
5.3.2.3. 安全性对于外部查询来说是一个更为复杂和明锐的问题,尤其是当查询的数据是多田户
5.3.3. 面向里面的数据工程师平素关注对业务和里面利益关连者的至关伏击的需求行为
5.3.3.1. 为BI相貌板、汇报、业务进程、数据科学以及ML模子创建和爱戴数据管谈与数据仓库
5.3.4. 面向外部和面向里面的职责平素混杂在全部
5.3.4.1. 在践诺中,面向里面的数据平素是面向外部的数据的先决条目
5.3.5. 数据工程师有两组用户,他们对查询并发性、安全性等有着截然不同的要求
6. 其他工夫变装
6.1. 数据工程人命周期杰出许多包袱领域
6.2. 数据工程师径直或辗转(通过司理)与许多组织单元互动,担任着多样变装的纽带
6.2.1. 数据工程师是数据坐蓐者[如软件工程师、数据架构师和DevOps或站点可靠性工程师(Site Reliability Engineer,SRE)]与数据滥用者(如数据分析师、数据科学家和机器学习工程师)之间的要道
6.2.2. 数据工程师将与运营变装的东谈主员(如DevOps工程师)进行交互
6.3. 上游利益关连者
6.3.1. 数据架构师
6.3.1.1. 数据架构师的功能在详尽级别上与数据工程师收支无几
6.3.1.2. 数据架构师盘算组织数据经管的蓝图,方针进程、全体数据架构和系统
6.3.1.3. 还充任组织工夫和非工夫方面之间的桥梁
6.3.1.4. 告捷的数据架构师平素有丰富的工程教养所带来的“搏斗伤疤”,使他们偶而带领和协助工程师,同期告捷地将工程挑战传达给非工夫业务利益关连者
6.3.1.5. 实施跨孤岛和业务部门经管数据的政策,带领数据经管和数据治理等寰球战术,并带领重要举措
6.3.1.6. 平素在云迁徙和未开发云盘算中进展中枢作用
6.3.1.6.1. 云数据架构比土产货系统更具流动性,因此传统上触及等闲征询、较长委用周期、购买条约和硬件装配的架构决策当今平素在实施过程中作念出,仅仅更大战术中的一个阵势
6.3.1.7. 证据公司的数据老练度和范围,数据工程师可能会与数据架构师的职责有重复,或者承担数据架构师的职责
6.3.1.7.1. 数据工程师应该对架构最好践诺和方法有好的交融
6.3.1.8. 数据架构师平素匡助盘动作为数据工程师源系统的应用门径数据层
6.3.1.8.1. 还不错在数据工程人命周期的各个其他阶段与数据工程师进行交互
6.3.2. 软件工程师
6.3.2.1. 构建运行业务的软件和系统
6.3.2.2. 主要珍摄生成数据工程师将使用和处理的里面数据
6.3.2.3. 数据工程师应该与软件工程师全部使命,了解产生数据的应用门径、生成数据的数目、频率和阵势,以及任何其他会影响数据工程人命周期的要素
6.3.3. DevOps工程师和站点可靠性工程师
6.3.3.1. DevOps和SRE平素通过运营监控来生成数据
6.3.3.2. 将他们归类为数据工程师的上游,但他们也可能是下贱,通过相貌板使用数据或径直与数据工程师交互以和解数据系统的操作
6.4. 下贱利益关连者
6.4.1. 数据科学家
6.4.1.1. 确立前瞻性模子来进行瞻望和提供提出,然后证据及时数据评估这些模子,以多样样子提供价值
6.4.1.1.1. 具有前瞻性
6.4.1.2. 证据常见的行业据说,数据科学家破耗70%~80%的时候来汇集、清洗和准备数据
6.4.1.2.1. 这些数字平素反应了不老练的数据科学和数据工程践诺
6.4.1.2.2. 许多流行的数据科学框架要是莫得合乎地进行彭胀,可能会成为瓶颈
6.4.1.2.3. 只在单一使命站上使命的数据科学家免强我方对数据进行下采样,这使得数据准备变得愈加复杂,并可能影响他们制作的模子的质地
6.4.1.2.4. 数据工程师应该尽可能地将这项使命自动化
6.4.1.3. 对坐蓐就绪数据科学的需求是数据工程专科兴起的伏击驱能源
6.4.1.3.1. 数据工程师应该匡助数据科学家已毕一条坐蓐旅途
6.4.2. 数据分析师
6.4.2.1. 寻求了解业务绩效和趋势
6.4.2.2. 平素关注夙昔或当今
6.4.2.3. 平素在数据仓库或数据湖中运行SQL查询
6.4.2.4. 期骗电子表格进行操办和分析,以及多样BI器具
6.4.2.5. 数据分析师是数据领域的群众,他们平素处理数据况兼相称熟总共据的界说、特征和质地问题
6.4.2.6. 数据分析师的典型下搭客户是业务用户、经管层和高管
6.4.2.7. 数据工程师与数据分析师配合,为业务所需的新数据源构建管谈
6.4.2.7.1. 数据分析师的主题专科学问对于升迁数据质地相称有价值,他们平素以这种身份与数据工程师配合
6.4.3. 机器学习工程师和东谈主工智能征询东谈主员
6.4.3.1. 机器学习工程师(ML工程师)与数据工程师和数据科学家重复
6.4.3.2. ML工程师开发先进的ML工夫、磨练模子以及盘算和爱戴在范围化坐蓐环境中运行ML进程的基础设施
6.4.3.3. ML工程师平素具有ML和深度学习工夫及框架(如PyTorch或TensorFlow)的高等使命学问
6.4.3.4. ML工程的寰宇正在滚雪球般发展,况兼与数据工程中发生的许多不异的发展并行
6.4.3.5. AI征询东谈主员勤恳于新的、先进的ML工夫
6.4.3.5.1. AI征询东谈主员可能在大型科技公司、特意的学问产权初创公司(OpenAI、DeepMind)或学术机构使命
6.4.3.6. 在资金裕如的组织中,AI征询东谈主员高度专科化,并与撑执型工程师团队全部配合
7. 业务不异
7.1. 数据工程师还作为组织联贯器在更等闲的范围内运作,平素以非工夫身份
7.1.1. 数据工程师要么作为汇聚式团队处理多样传入恳求,要么作为资源被分派给特定的司理、神情或产物
7.2. 产物司理
7.2.1. 产物司理监督产物开发,平素领有产物线
7.2.2. 数据工程师的布景下,这些产物被称为数据产物
7.2.3. 数据产物要么是从新启航点构建,要么是对现存产物的徐徐校正
7.2.4. 跟着企业界聚焦以数据为中心,数据工程师与产物司理的交互愈加频繁
7.2.5. 与神情司理一样,产物司理均衡工夫团队的行为与客户和业务的需求
7.3. 企业决策层数据
7.3.1. C级高管越来越多地参与到数据和分析中,因为这些被觉得是当代企业的伏击钞票
7.4. 首席施行官
7.4.1. 非工夫公司的首席施行官(Chief Executive Officer,CEO)平素不关注数据框架和软件的细节
7.4.2. 他们与工夫最高经管层变装和公司数据不异层配合界说愿景
7.4.2.1. 数据工程师为了解数据的可能性提供了一个窗口
7.4.2.2. 数据工程师和他们的司理爱戴着一张舆图,证据在什么时候范围内组织里面和第三方不错使用哪些数据
7.5. 首席信息官
7.5.1. 首席信息官(Chief Information Officer,CIO)是珍摄组织内信息工夫的高等经管东谈主员
7.5.2. 一个面向里面的变装
7.5.3. CIO平素与领有邃密数据文化的组织中的数据工程不异层配合
7.5.3.1. 要是一个组织的数据老练度不是很高,CIO平素会匡助塑造其数据文化
7.5.3.2. CIO将与工程师和架构师配合制定重要举措,并就禁受主要架构元素作念出战术决策
7.5.3.3. 企业资源方针(Enterprise Resource Planning,ERP)和客户关系经管(Customer Relationship Management,CRM)系统、云迁徙、数据系统和面向里面的IT
7.6. 首席工夫官
7.6.1. 首席工夫官(Chief Technology Officer,CTO)与CIO近似
7.6.2. 面向外部
7.6.3. CTO领有面向外部应用门径的重要工夫战术和架构,这些应用门径包括出动、Web应用门径和物联网
7.6.3.1. 这些皆是数据工程师的重要数据源
7.7. 首席数据官
7.7.1. 首席数据官(Chief Data Officer,CDO)于2002年在Capital One创立
7.7.2. 珍摄公司的数据钞票和战术
7.7.3. 专注于数据的贸易效能,但应具备强劲的工夫基础
7.7.4. 珍摄监督数据产物、战术、方针和中枢功能,如主数据经管和阴私
7.7.5. 会经管业务分析和数据工程
7.7.6. 专注于委用数据所需的工夫和组织
7.8. 首席分析官
7.8.1. 首席分析官(Chief Analytice Officer,CAO)是CDO变装的变体
7.8.2. 珍摄业务的分析、战术和决策制定
7.8.3. 不错监督数据科学和ML,但这在很猛进度上取决于公司是否有CDO或CTO变装
7.9. 首席算法官
7.9.1. 首席算法官(Chief Algorithms Officer,CAO-2)是最高经管层最近的革命
7.9.2. 一个高度工夫性的变装,专注于数据科学和ML
7.9.3. CAO-2平素具有在数据科学或ML神情中作为个东谈主孝敬者和团队不异的教养
7.9.4. 具有ML征询布景和关连的高等学位