Open Source DataHub: plateforme de recherche et de découverte de métadonnées de LinkedIn
Trouver rapidement les bonnes données est essentiel pour toute entreprise qui s'appuie sur de grandes quantités de données pour prendre des décisions basées sur ces données. Cela affecte non seulement la productivité des utilisateurs de données (y compris les analystes, les développeurs de machine learning, les data scientists et les ingénieurs de données), mais cela a également un impact direct sur les produits finaux qui reposent sur un pipeline de machine learning (ML) de qualité. De plus, la tendance à l'introduction ou à la construction de plates-formes d'apprentissage automatique soulève naturellement la question: quelle est votre méthode pour découvrir en interne des fonctionnalités, des modèles, des métriques, des ensembles de données, etc.
Dans cet article, nous partagerons comment nous avons publié la source de données DataHub sous licence ouverte dans notre plateforme de recherche et de découverte de métadonnées, à partir des premiers jours du projet WhereHows . LinkedIn gère sa propre version de DataHub séparément de la version open source. Nous commencerons par expliquer pourquoi nous avons besoin de deux environnements de développement distincts, après quoi nous discuterons des premières approches d'utilisation de l'open source WhereHows et comparerons notre version interne (de production) de DataHub avec la version sur GitHub.... Nous partagerons également des détails sur notre nouvelle solution de téléchargement et de téléchargement open source automatisé pour garder les deux référentiels synchronisés. Enfin, nous donnerons des instructions pour commencer à utiliser le DataHub open source et discuterons brièvement de son architecture.
WhereHows est maintenant 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 , . :
- LinkedIn / , rsync.
- , Apache Rat.
- .
- , , .
, .
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 :
- Docker docker-compose docker-compose .
- , , , .
- DataHub .
Gitter . GitHub. , !
DataHub Docker, docker-compose. Kubernetes, Kubernetes .
Nous prévoyons également de fournir une solution clé en main pour le déploiement DataHub sur un service de cloud public, comme Azure , AWS, ou Google Cloud . Compte tenu de l'annonce récente de la migration de LinkedIn vers Azure, cela s'alignera sur les priorités internes du groupe de métadonnées.
Enfin, merci à tous les premiers utilisateurs de DataHub de la communauté open source qui ont apprécié les versions alpha de DataHub et nous ont aidés à identifier les problèmes et à améliorer la documentation.