REA Group是一家专门面向房地产与实业资产的跨国数字广告公司。

他们主要为消费者提供房地产购买、出售与租赁服务,同时发布各类房产新闻、装修技巧以及生活方式层面的内容。每一天,都有数百万消费者访问REA Group网站。

REA Group每天都需要进行大量的数据分析工作,去分析用户,财务等信息,该公司也掌握了大量的数据。

但是要使用数据,就必须先找到数据所在。在数据工作中面临做多的问题是:这些数据是否存在?我该如何访问?数据存在哪?最后更新时间是什么时候?

实际上,数据科学家和分析人员将大约20%的时间仅用于查找所需的数据,这占用了他们大量的时间和精力。

很多公司都存在类似的问题,也有很多数据治理的解决方案,但是没有一个完美的解决方案。在评估了多种方案以后,REA Group公司最终选择了Lyft的开源元数据引擎Amundsen。本文将介绍其应用实现过程,以及如何进行了定制化的改造。

为什么选择Amundsen

选择合适的解决方案最重要的是充分了解自己的需求,选择最合适自己的。

每一种方案擅长的领域不同,而此次需要的重点是帮助使用者搜索数据,获取有关该数据的基本信息,以及知道该问谁寻找更多的信息。

所以选择Amundsen是基于以下因素:

  • 适合 想要的大多数功能,包括与BigQuery和Airflow的集成,都已经在Amundsen中提供。在搜索结果中设置优先级,以查看最常用的表也是可以使用的功能。还需要用户可以查看所有表的元数据。这些都是Amundsen开箱即用的功能。
  • 自动化 Amundsen专注于显示自动生成的元数据。这样可以节约大量的人力去手工维护。
  • 易于使用 Amundsen具有清晰,直观,快速的UI。
  • 开源 开源的优势不仅仅是免费,而且可以灵活的进行定制化研发,而且Amundsen的社区非常活跃,正处于上升期。

但是,在选择Amundsen时,也有很多问题没有解决。

例如,Amundsen当前缺少数据血缘功能,无法显示数据的来龙去脉。

所以必须确定好,如果进行定制化研发,是否有足够的人员可以跟进,这将是额外的开销。

如何实施Amundsen

Amundsen有三个主要的微服务:Frontend服务,Search服务(依赖Elasticsearch)和Metadata服务(依赖Neo4j或者Atlas)

在REA Group,Google BigQuery是其主数据库。技术堆栈主要基于Amazon Web Services(AWS)。

因此,我们针对Amundsen的整个解决方案都部署在AWS中。

所有三个Amundsen微服务都作为容器部署在Amazon Elastic Container Service(ECS)上,Neo4j数据库存储所有元数据,前端通过元数据服务进行查询。

部署好Amundsen的相关服务以后,下一步的难题就是从BigQuery获取元数据,这里使用了Amundsen数据生成器库,Extractor从BigQuery提取元数据并将其引入Neo4j,而Indexer将Neo4j的元数据索引到Elasticsearch中。

定制化研发了Amundsen表详细信息页面

高级搜索页面

未来

在2020年11月发布的Beta版以后,REA Group得到非常好的使用反馈。

但也有很多的问题,比如表描述的缺失,所以必须鼓励数据发布者填写这些描述。随着不断的迭代,REA Group也会为开源社区做出进一步的贡献。包括如何将Amundsen用作其他数据治理工作的补充,例如隐私和数据质量。

随着越来越多的公司意识到元数据的重要性,Amundsen由于其功能,易用性和开源性也会成为最优选择~

Amundsen在REA Group公司的应用实践的更多相关文章

  1. mysql group replication观点及实践

    一:个人看法 Mysql  Group Replication  随着5.7发布3年了.作为技术爱好者.mgr 是继 oracle database rac 之后. 又一个“真正” 的群集,怎么做到“ ...

  2. 流媒体与实时计算,Netflix公司Druid应用实践

    Netflix(Nasdaq NFLX),也就是网飞公司,成立于1997年,是一家在线影片[租赁]提供商,主要提供Netflix超大数量的[DVD]并免费递送,总部位于美国加利福尼亚州洛斯盖图.199 ...

  3. CI Weekly #7 | Instgram/Quora 等大公司如何做持续部署?

    终于,你们期待的 flow.ci iOS 项目持续集成 开始公测了.在这几个工作日, flow.ci 做了些许「功能优化」与「问题修复」,性能和体验都在持续优化中.比如: iOS 快速入门文档更新: ...

  4. 契约测试框架-Pact实践

    在前一篇博客中我们讲到契约测试是什么,以及它能给我们软件交付带来什么价值,本次将介绍一个开源的契约测试框架Pact,它最初是用ruby语言实现的,后来被js,C#,java,go,python 等语言 ...

  5. 中小公司PMO不一样期间的责任

    中小公司,又称中小型公司或中小企,它是与所在行业的大公司对比在人员规划.财物规划与运营规划上都对比小的经济单位.此类公司一般可由单自个或少数人供给资金构成,其招聘人数与营业额皆不大,因此在运营上多半是 ...

  6. 《深入实践Spring Boot》阅读笔记之一:基础应用开发

    上上篇「1718总结与计划」中提到,18年要对部分项目拆分,进行服务化,并对代码进行重构.公司技术委员会也推荐使用spring boot,之前在各个技术网站中也了解过,它可以大大简化spring配置和 ...

  7. 构建安全可靠的微服务 | Nacos 在颜铺 SaaS 平台的应用实践

    作者 | 殷铭  颜铺科技架构师 本文整理自架构师成长系列 3 月 19 日直播课程. 关注"阿里巴巴云原生"公众号,回复 "319",即可获取对应直播回放链接 ...

  8. Android手机QQ的UI自动化实践

    本文首发于果的博客园,原文链接:https://www.cnblogs.com/yuxiuyan/p/14992682.html, 转载请注明出处. UI自动化 我们为什么要搞UI自动化 可能很多同学 ...

  9. TCP长连接实践与挑战

    点这里立即申请 本文介绍了tcp长连接在实际工程中的实践过程,并总结了tcp连接保活遇到的挑战以及对应的解决方案. 作者:字节跳动终端技术 --- 陈圣坤 概述 众所周知,作为传输层通信协议,TCP是 ...

随机推荐

  1. CSS ::marker All In One

    CSS ::marker All In One CSS pseudo element / CSS 伪元素 /* user agent stylesheet */ ::marker { unicode- ...

  2. Linux directory tree

    Linux directory tree https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard https://en.wikipedi ...

  3. Google Advanced Search Skills

    Google Advanced Search Skills site:

  4. flutter web in action

    flutter web in action flutter for web https://flutter.dev/web https://flutter.dev/docs/get-started/w ...

  5. 微信小程序 components

    微信小程序 components wx-xcx-components https://developers.weixin.qq.com/miniprogram/dev/component/ https ...

  6. js 斩掉单行注释和多行注释

    var json = ` // e { /* hello */ name:/* a */ 'ajanuw' // c /** * * hello * ? adsd * todo */ // c } ` ...

  7. 微服务学习.net5+consul

    趁着刚过完年,还没有开始做业务的时候,学习下consul 概念自己去官网看,这里只讲下具体实现 官网下载https://www.consul.io/downloads 我下载的是Windows版本 启 ...

  8. MPAndroidChart实现LineChart(折线图)

    一.参照油管视频做法 1.引入依赖 新建Android工程,然后分别在build.gradle(Project:...)添加 maven { url 'https://jitpack.io' } 在b ...

  9. Linux进程管理工具Supervisor的安装配置

    目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...

  10. 解决 DatePickerDialog 在 Android7.0 API24 上使用 AlertDialog.THEME_TRADITIONAL、AlertDialog.THEME_HOLO_DARK、AlertDialog.THEME_HOLO_LIGHT等样式时无法显示为 Spinner 样式的问题

    DatePickerDemoForAndroid24 解决 DatePickerDialog 在 Android7.0 API24 上使用AlertDialog.THEME_TRADITIONAL.A ...