数据工程师团队往往拥有着数据仓库中最有保障的、高质量的模块。例如在Airbnb,数据工程师团队管理着一组‘核心’架构,其中有着定义明确及可度量的服务等级协议、遵守严格的命名规则、最高质量的业务元数据和文档,以及遵循意义明确的最佳实践的相关管道代码。 数据工程师团队通过制定标准、提供最佳案例和数据对象认证流程,充当了一个“卓越中心”的角色。这个团队逐渐发展,通过带领教学项目分享他们的核心竞争力,帮助其他团队成为数据仓库更好的参与者。例如,脸书(Facebook)有一个叫做“数据训练营(data camp)”的项目,Airbnb正在发展一个类似的“数据大学(Data University )”项目。在这些项目中数据工程师教会人们怎么样更专业地操作数据。 数据工程师同时也是数据仓库的管理员,编目、整理元数据,定义从数据仓库抽取数据的过程。在一个急速增长,快速发展及轻微混乱的的数据生态环境下,元数据管理和工具化成为了现在数据平台的一个至关重要的组建部分。 性能调整和优化 随着数据变得较之前更具策略化,企业逐渐投入了可观的预算在数据基础设施上。这促使数据工程师花费更多的精力在性能调整、数据处理最优化和存储上。由于这个领域的的预算几乎不会缩水,性能优化通常来自于在相同数量的资源下取得更多收益,或者是试图线性化资源使用率和成本上的指数增长。 了解数据工程师工作内容的复杂度爆炸性地提高,我们相信,优化他们的工作内容和流程之复杂同样也是个挑战。在投入低却很容易得到高回报的地方,收益递减规律一般都是适用的。 确切地说,数据工程师的趣味所在是既随着公司扩建基础设施的同时,至始至终又都能节约资源。 数据集成 数据集成,通过数据交换整合业务和系统之间的实践,像他以前一样都既重要又具有挑战性。 由于软件即服务(SaaS)成为公司运营的新标准方式,跨系统同步化参考数据的需求愈加苛刻。不仅仅软件即服务(SaaS)需要最新数据来支持各系统功能,我们还经常想要将在系统端产生的数据写入数据仓库与其他数据一起用于分析。当然软件即服务(SaaS)有它自带的分析产品,但这些自带产品系统性地缺乏公司其他数据提供的信息,所以往往必须将某些数据撤回。 让这些软件即服务(SaaS)产品再定义参考数据却不集成和共享关键字,是一场在所有工作中都应该避免的灾难。没有人想要在两个不同系统中人工维护两套员工或客户列表。更糟糕的是,数据仓库中加载的人力资源数据,还不能完整匹配。 最糟糕的是,公司执行层经常在没有真正考虑数据集成挑战的情况下,和软件即服务(SaaS)提供者签订协议。为了促进软件服务的销售,销售人员不合理的评估数据集成的工作量,将不计入工作量的、不会被重视的工作留给数据工程师。更别提SaaS接口的设计不完善,不清楚的文档和所谓的“敏捷”:不提前通知就随意改变需求。 服务 数据工程师还会做些更高级别的抽象事务,在一些工作场景中提供服务和工具化使数据工程师,数据科学家和分析师可能人工处理的工作自动化。 以下是一些数据工程师和数据基建人员可能提供和操作的服务项: 数据获取:提供高效利用数据库,装载日志,从外部存储或API获取数据的相关服务和将这些流程工具化的工具 指标计算:设计框架,计算和总结约束条件、增长量和分段等指标。 异常检测:提供自动化数据资料分析,提醒异常事件的发生,或趋势变化明显时提出警告。 元数据管理:提供相关自动化工具,方便元数据的生成和更替,更易查找到数据仓库及其关联的信息。 试验:提供A/B测试和框架试验。这是数据工程师参与的企业分析的一个关键环节 仪表检测:从登陆开始及之后所有相关连的操作都会进行分析,数据工程师专注于确保可以从上游系统捕获高质量数据。 会话:提供能及时理解一系列业务操作的特殊渠道,让分析师明白用户行为。 (责任编辑:本港台直播) |