为什么数据探索服务很重要?
想象一下,作为一名数据科学家,他刚刚获得新的任务是建立一个机器学习模型对业务问题进行分析。处理数据的人的第一个本能是寻找任何有意义的信息,能对其分析过程提供帮助。在这个过程中通常会出现以下问题:
- 我可以/应该使用哪种数据?
- 在哪里可以找到数据?
- 我应该问谁申请数据访问权限?
- 我可以信任我们拥有的数据吗?
- 我们拥有的数据的实时性和质量如何?
- 还有谁在使用这些数据?
没有数据探索服务的世界
数据科学家最多将三分之一的时间用于数据探索。
如果没有数据探索服务,数据科学家需要和同事沟通,浏览他们可以访问的对象进行搜索。然后做出一些假设,来验证他们的选择是否正确。
这个过程其实非常的耗时,因为没有合适的工具帮忙。必须要不断的去寻找可靠的数据。但是随着数据量增大,数据平台使用者的增加,数据分析需求的增加,元数据的数量也在增加。这个过程就为寻找的过程带来了非常大的挑战。
数据科学家用来查找与他们的需求相关的数据的方式可能很快会适得其反,变得不可靠,从而导致很多挫败感,不确定性和创造力下降。
解决这些问题的方案就是数据探索服务。
数据探索服务
数据探索服务意味着向用户提供一种工具,使其可以了解平台中的数据及其质量。让我们来了解下具体的实现。
Amundsen
Lyft是一家总部位于美国的打车应用,其开源了大量的技术框架,其中就包括Amundsen。这是一个以伟大的挪威探险家的名字命名的数据探索服务,Lyft的数据探索服务旨在解决通过在元数据中搜索有价值的信息。它提供的是用户数据探索服务的搜索界面。
Amundsen的社区非常的繁荣,正在不断的更新改进。
Apache Atlas
作为元数据管理的领军,atlas无疑是最好的选择之一。
元数据听起来很容易解释,用于描述数据信息的数据。最简单的示例是数据存在表里,而表的相关的信息,如表名等信息就是元数据。没有元数据的支撑,数据探索服务不复存在。
Atlas作为大数据元数据管理平台,可以捕获平台上的各种组件的元数据信息。称为钩子,比如可从Kafka,Hive,Hbase中收集元数据。有着安全性和丰富的Rest Api。
Atlas依赖于Hbase和Solr作为分布式的数据存储,从而实现了元数据的存储和搜索功能。通过这种方式,可以建立一个全面的元数据目录。
Apache Atlas架构
在实际的应用中,通过两者的结合,可以完全的满足我们的需求。
这样数据科学家就可以在Amundsen中,寻找到目标数据了。
但搜索显然只是第一步,在找到搜索结果后,可以进入表详细信息页面。
可以查看诸如描述、更新时间、常用用户之类的信息。而且这些元数据信息都是实时更新的。
相信开源的力量,在Amundsen+Atlas的体系下,不断探索适合自己的实现方案。