跳到主要内容

DataOps博客

欢迎改变的地方

DNB的13项数据工程最佳实践

By 张贴在 工程 2020年11月17日
萨利姆Pothiwala, DNB
萨利姆Pothiwala, DNB运营主管-客户洞察

DNB是挪威最大的金融服务集团, 在整个地区都享有值得信赖的金融机构的声誉. 在这篇客座文章中, DNB数据工程实践中心团队saleem Pothiwala, 运营主管-客户洞察, 琼斯Mabea Agwata, 软件工程师, 和Bikram溃败, 数据工程师-分享他们的数据工程最佳实践,以利用数据的力量进行数字转换.

在DNB, 电子游戏网址大全通过实施数据工程最佳实践来实现清洁, 以可靠的方式提供可用和准时的数据. 电子游戏网址大全将其视为客户洞察和数据分析计划成功的主要标准. 电子游戏网址大全使用数据来生成报告, 的见解, 指示板, 反馈给其他下游系统,并提供数据以得出机器学习的见解.

数据工程领域可以看作是BI和数据仓库的保护伞,它们从软件工程中带来了更多的元素.

电子游戏网址大全DNB有 电子游戏厅 弹性数据处理器类别. 一个数据处理器,它将根据工作负载增长和收缩,并使用 数据收集器引擎变压器引擎. 的编排一切 控制中心.

数据工程师的职责是在设计和构建数据管道时考虑广泛的依赖关系和需求.

这是电子游戏网址大全的高级架构图.

使用streamset的数据工程最佳实践

以下是电子游戏网址大全的13个数据工程最佳实践

1 .如果设计模式存在,请遵循它

电子游戏网址大全通过DNB为数据工程创建了数据模式. 这为电子游戏网址大全提供了最好的工具、过程、技术和框架. 如果你发现了一个完美的模式,那么就使用它, 如果不是, 选择一个现有的,并为您的用例增强它,并发布它以供其他人遵循. 模式将帮助电子游戏网址大全在DNB的现有类型和管道计数上保持标签,也将帮助电子游戏网址大全通过选择一个现有模式转移到另一个供应商/平台/技术, 更改它并与该模式的所有用户进行通信.

# 2实现幂等性

电子游戏网址大全鼓励使用upsert而不是insert. 这允许管道重新运行,而不必担心在目标中创建重复记录,或者由于主键/惟一约束而停止生成错误.

#3尽可能使用流媒体而不是批处理

电子游戏网址大全的许多数据源允许电子游戏网址大全使用 流模式或微批处理模式 除了批处理执行. 电子游戏网址大全鼓励电子游戏网址大全的数据工程师尽可能使用流媒体模式. 下游管道可按要求运行, 但是,通过使用这种方法,电子游戏网址大全总是可以选择更频繁地运行它,而不是每天运行一次,从而接近实时.

# 4鼓励协作

数据工程师在电子游戏厅中设计的管道与产品团队共享. 所有数据工程师在产品开发中创建的所有管道都可以共享,从而实现协作, 通过从现有的管道中学习,同行评审和提高效率. 这使得电子游戏网址大全可以重用管道资产来创建新的管道,而无需花费太多时间来找出最有效的配置值集.

#5用户定义的处理器

电子游戏厅允许电子游戏网址大全编写自定义代码 Jython, JavaScriptGroovy. 电子游戏网址大全鼓励电子游戏网址大全的数据工程师使用这些评估器来制作一个工作管道,然后重新访问它们,尝试制作一个定制处理器,可以在同一产品开发的其他管道或跨DNB使用. 这为电子游戏网址大全提供了一种更模块化的方法,并鼓励了可重用性. 这也使得 管道的维护/调试更容易.

#6使用凭证存储/IAM角色/运行时文件参数

出于安全原因,电子游戏网址大全完全不赞成在管道中使用纯文本凭据. 电子游戏网址大全所有的管道都是通过使用凭据存储(在电子游戏网址大全的例子中是AWS Secrets Manager)来保存凭据来开发的. 电子游戏网址大全在所有数据库连接字符串中广泛使用Runtime文件参数, 模式注册网址, Kafka broker URI和其他东西的值会根据执行环境而改变. 这允许电子游戏网址大全一次性创建管道,然后在不同的环境中创建作业,而无需进行任何更改. 还提供了在正确的环境中使用错误值的安全性. 在电子游戏网址大全的任何管道中都没有使用Secret ID和Secret key. 电子游戏网址大全使用IAM role来访问AWS资源.

manage-smart-data-pipelines

电子游戏厅使数据工程师能够构建端到端智能数据管道. 把你的时间花在构建、实现和创新上,而不是维护、重写和修复.

#7参数化管道

电子游戏网址大全尝试以一种可以用于多个数据源/目标的方式创建管道. 这使电子游戏网址大全能够在DNB上重用、扩展、标准化和创建高效的管道. 一个例子:从Kafka读取一个主题的管道, 添加跟踪属性并写入Delta Lake表. 一旦创建了管道, 电子游戏网址大全可以在多个工作中反复使用它来准备几个主题并创建几个Delta Lake表.

#8使用标签和标签

几个streamset组件允许使用标签/标签. 电子游戏网址大全确保在任何地方都使用它们,并且尽可能具有描述性. 这有助于电子游戏网址大全监控、分组、搜索和提供相应的访问.

数据收集器引擎变压器引擎

  • 标签
  • 的名字
  • 执行环境(S和box, Staging, Prod)
  • 提供商(AWS、Azure、GCP、On Prem)
  • 位置
  • 地区
  • 管道环境(开发,测试,产品部)

对于管道和工作

  • Source
  • 目标
  • 起源
  • 目的地
  • 产品
  • 环境
  • 测试指标
  • PoC指示器

#9基于角色的访问控制实现

电子游戏网址大全在DNB有一个多租户的streamset设置. 电子游戏网址大全不希望一个产品的数据公民访问其他产品的对象. 此外,角色会影响用户可以访问哪些环境.

  • 数据工程师-开发
  • 测试人员-开发和测试
  • 运营商——生产
  • 操作,生产
  • 管理员——所有

为了控制这种情况,电子游戏网址大全成立了小组

  • 环境-开发,舞台,生产
  • 角色-数据工程师,操作员,操作,管理员
  • 产品-产品A,产品B,产品C
  • 然后将每个用户配置为具有来自上述类别的一个或多个组

#10提交文档和注释

在管道版本中提交的所有代码都需要具有描述性,并提及已处理的细节. 为任何特性发布或bug修复提供Jira票证参考. 这有助于电子游戏网址大全创建一个发布文档,列出每个版本的特性升级和bug修复.

管道、作业和拓扑的命名标准

由于跨DNB的streamset的多租户, 确保每个管道都与项目相关联是非常重要的, Source, 目标和每个工作都要与环境相联系, 项目和管道.

  • 管道的命名规则是: 产品-Source-目的地(通用/具体)
  • 命名作业的规则是:环境-产品-Source-目标-(表/主题名称)
  • 命名拓扑的规则是:环境-产品-(详细信息)

#12使用片段和模板

电子游戏厅控制中心 允许使用 数据管道碎片 和模板(现在称为演示管道). 管道片段可以由一个或多个处理器创建. 它们可以是起点、中间片段和目的地. 它们可以用于打包业务逻辑. 在Avro文件中设置跟踪属性的示例. 电子游戏网址大全在一个片段中封装了4个不同的处理器,然后将其用于多个管道. 同样,您可以创建一个带有特定源、处理器和目的地的模板管道. 基于此模板创建新的管道,它已经提供了所有组件. 只需要配置和使用.

重要的是要注意片段是链接到管道的,所以如果你改变了片段, 您可以选择使用更改更新全部或部分管道. 模板没有链接,因此您可以基于新模板创建新的管道,而不更改现有的模板.

提供管道、作业和组件的解释性说明

管道, 工作, 拓扑, 起源, 目的地, 处理器和executor允许添加描述. 这允许其他人和您自己了解创建这些组件的原因. 也, 在管道中向处理器添加描述, 起源, 目的地和执行器使得对象的维护和调试更加容易. 它还提供对象的就地文档.

数据工程最佳实践总结

当电子游戏网址大全构建数据管道时,数据处理的效率是不够的. 电子游戏网址大全需要确保运营团队能够轻松地管理管道. 

通过遵循这些数据工程最佳实践,使您的数据管道保持一致, 健壮的, 可伸缩的, 可靠的, 可重用和生产就绪, 像数据科学家一样的数据消费者可以专注于科学, 而不是担心数据管理.

这里有一些资源可以帮助你开始你的云之旅:

回到顶部

电子游戏网址大全使用cookie来改善您对电子游戏网址大全网站的体验. 单击“允许所有人同意”并继续访问电子游戏网址大全的网站. 隐私政策