开源DataHub:LinkedIn的元数据搜索和发现平台

开源DataHub:LinkedIn的元数据搜索和发现平台



对于任何依赖大量数据来基于该数据做出决策的公司而言,快速找到正确的数据都是至关重要的。这不仅影响数据用户(包括分析师,机器学习开发人员,数据科学家和数据工程师)的工作效率,而且还对依赖高质量机器学习(ML)管道的最终产品产生直接影响。此外,引入或构建机器学习平台的趋势自然会引出一个问题:您内部发现特征,模型,指标,数据集等的方法是什么。



在本文中,我们将从WhoHows项目的早期阶段开始,以开放许可的方式共享如何在元数据搜索和发现平台中发布DataHub数据源。 LinkedIn与开放源代码版本分开维护自己的DataHub版本。我们将首先解释为什么我们需要两个单独的开发环境,然后,我们将讨论使用WhereHows开源的第一种方法,并将我们的内部(生产)版本的DataHub与GitHub上的版本进行比较... 我们还将分享有关新的自动化开源上传和下载解决方案的详细信息,以使两个存储库保持同步。最后,我们将提供有关如何开始使用开源DataHub的说明,并简要讨论其体系结构。





DataHub现在在哪里!



LinkedIn DataHub ( WhereHows), LinkedIn, . - DataHub . , . DataHub GitHub.





WhereHows, LinkedIn , ; 2016 . — , LinkedIn, , LinkedIn, . , WhereHows (, . .), . WhereHows , . , .



: « »



« », , . , GitHub, . , . , .



, , , , . , , , , .



, , -. , , , WhereHows -. , , .



: « »



** « », , . , . , — , . . , , , , .



!



, WhereHows GitHub . , WhereHows LinkedIn , . — DataHub. .



LinkedIn , . , LinkedIn (ELR). , , , .



, DataHub, . , . , . ( DataHub), . .





DataHub , . :



  1. LinkedIn / , rsync.
  2. , Apache Rat.
  3. .
  4. , , .


, .





DataHub , GitHub, DataHub LinkedIn ( multiproducts). DataHub, , LinkedIn. DataHub .





1: LinkedIn DataHub DataHub



, , . , , .



{
  "datahub-dao": [
    "${datahub-frontend}/datahub-dao"
  ],
  "gms/impl": [
    "${dataset-gms}/impl",
    "${user-gms}/impl"
  ],
  "metadata-dao": [
    "${metadata-models}/metadata-dao"
  ],
  "metadata-builders": [
    "${metadata-models}/metadata-builders"
  ]
}


— JSON, , — LinkedIn. . Bash. , , .



{
  "${metadata-models}/metadata-builders/src/main/java/com/linkedin/Foo.java":
"metadata-builders/src/main/java/com/linkedin/Foo.java",
  "${metadata-models}/metadata-builders/src/main/java/com/linkedin/Bar.java":
"metadata-builders/src/main/java/com/linkedin/Bar.java",
  "${metadata-models}/metadata-builders/build.gradle": null,
}


; . 1: 1 LinkedIn . , :



  • , , FQCN, . « ».
  • «null» , .
  • . .




. , , . , , . , .



metadata-models 29.0.0 -> 30.0.0
    Added aspect model foo
    Fixed issue bar

dataset-gms 2.3.0 -> 2.3.4
    Added rest.li API to serve foo aspect

MP_VERSION=dataset-gms:2.3.4
MP_VERSION=metadata-models:30.0.0




LinkedIn , , . DataHub , - , , DataHub , .. , (, , ) , DataHub , . , , -, .



, , , . , , DataHub .



DataHub



DataHub, , . DataHub LinkedIn, .



, , LinkedIn's Offspring ( LinkedIn). Offspring , . ; DataHub .



. LinkedIn, LinkedIn . , . , DataHub . , , , .



DataHub. — . , () , .



— GMS ( ) , GMS. GMA ( ) — DataHub, GMS — GMA. GMA — , (, , . .) , , GMS . GMS, DataHub .



.



Product Features LinkedIn DataHub Open Source DataHub
Supported Data Constructs 1) Datasets 2) Users 3) Metrics 4) ML Features 5) Charts 6) Dashboards 1) Datasets 2) Users
Supported Metadata Sources for Datasets 1) Ambry 2) Couchbase 3) Dalids 4) Espresso 5) HDFS 6) Hive 7) Kafka 8) MongoDB 9) MySQL 10) Oracle 11) Pinot 12) Presto 12) Seas 13) Teradata 13) Vector 14) Venice Hive Kafka RDBMS
Pub-sub LinkedIn Kafka Confluent Kafka
Stream Processing Managed Embedded (standalone)
Dependency Injection & Dynamic Configuration LinkedIn Offspring Spring
Build Tooling Ligradle (LinkedIn’s internal Gradle wrapper) Gradlew
CI/CD CRT (LinkedIn’s internal CI/ CD) TravisCI and Docker Hub
Metadata Stores Distributed multiple GMS: 1) Dataset GMS 2) User GMS 3) Metric GMS 4) Feature GMS 5) Chart/Dashboard GMS Single GMS for: 1) Datasets 2) Users


Docker



Docker . DataHub , , Kafka, Elasticsearch, Neo4j MySQL, Docker. Docker Docker Compose.





2: DataHub * **



DataHub . , Docker:



datahub-gms:



datahub-frontend: Play, DataHub.



datahub-mce-consumer: Kafka Streams, (MCE) .



datahub-mae-consumer: Kafka Streams, (MAE) .



DataHub .



CI / CD DataHub



DataHub TravisCI Docker Hub . GitHub . , (, Confluent), Docker, Docker Hub . Docker, Docker Hub, docker pull.



DataHub Docker Docker Hub «latest». Docker Hub , Docker Hub.



DataHub



DataHub :



  1. Docker docker-compose docker-compose .
  2. , , , .
  3. DataHub .


Gitter . GitHub. , !





DataHub Docker, docker-compose. Kubernetes, Kubernetes .



我们还计划提供整套解决方案,用于在诸如AzureAWSGoogle Cloud的公共云服务上部署DataHub 鉴于最近宣布LinkedIn即将迁移到Azure,这将与元数据组的内部优先事项保持一致。



最后但并非最不重要的一点,感谢开源社区中所有早期的DataHub用户,他们感谢DataHub的alpha版本,并帮助我们发现了问题并改进了文档。




All Articles