Open Source DataHub: Die Metadaten-Such- und Erkennungsplattform von LinkedIn
Das schnelle Auffinden der benötigten Daten ist für jedes Unternehmen wichtig, das auf große Datenmengen angewiesen ist, um Entscheidungen auf der Grundlage dieser Daten zu treffen. Dies wirkt sich nicht nur auf die Produktivität von Datenbenutzern aus (einschließlich Analysten, Entwicklern von maschinellem Lernen, Datenwissenschaftlern und Dateningenieuren), sondern wirkt sich auch direkt auf Endprodukte aus, die auf einer hochwertigen Pipeline für maschinelles Lernen (ML) basieren. Der Trend zur Einführung oder zum Aufbau von Plattformen für maschinelles Lernen wirft natürlich die Frage auf: Wie können Sie Funktionen, Modelle, Metriken, Datensätze usw. intern ermitteln?
In diesem Artikel werden wir erläutern, wie wir die DataHub- Datenquelle unter der offenen Lizenz auf unserer Metadatensuch- und -erkennungsplattform veröffentlicht haben , beginnend in den frühen Tagen des WhereHows- Projekts . LinkedIn verwaltet seine eigene Version von DataHub getrennt von der Open Source-Version. Zunächst erklären wir, warum wir zwei separate Entwicklungsumgebungen benötigen. Anschließend werden die ersten Ansätze zur Verwendung von WhereHows Open Source erläutert und unsere interne (Produktions-) Version von DataHub mit der Version auf GitHub verglichen .... Wir werden auch Details zu unserer neuen automatisierten Open Source-Upload- und Download-Lösung veröffentlichen, um beide Repositorys synchron zu halten. Abschließend geben wir Anweisungen zum Einstieg in die Verwendung des Open Source DataHub und erläutern kurz dessen Architektur.

WhereHows ist jetzt 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 .
Wir planen außerdem die Bereitstellung einer schlüsselfertigen Lösung für die Bereitstellung von DataHub in einem öffentlichen Cloud-Dienst wie Azure , AWS oder Google Cloud . Angesichts der kürzlich angekündigten Migration von LinkedIn zu Azure entspricht dies den internen Prioritäten der Metadatengruppe.
Last but not least danke ich allen frühen DataHub-Benutzern in der Open Source-Community, die die Alpha-Versionen von DataHub geschätzt und uns geholfen haben, Probleme zu identifizieren und die Dokumentation zu verbessern.