Open Source DataHub: Pencarian Metadata dan Platform Penemuan LinkedIn
Menemukan data yang tepat dengan cepat sangat penting bagi perusahaan mana pun yang mengandalkan data dalam jumlah besar untuk membuat keputusan berdasarkan data tersebut. Ini tidak hanya memengaruhi produktivitas pengguna data (termasuk analis, developer pembelajaran mesin, ilmuwan data, dan teknisi data), tetapi juga berdampak langsung pada produk akhir yang mengandalkan pipeline machine learning (ML) berkualitas. Selain itu, tren untuk memperkenalkan atau membangun platform pembelajaran mesin tentu saja menimbulkan pertanyaan: apa metode Anda untuk menemukan fitur, model, metrik, kumpulan data, dll. Secara internal?
Pada artikel ini, kami akan membagikan bagaimana kami menerbitkan sumber data DataHub di bawah lisensi terbuka pada platform pencarian dan penemuan metadata kami, dimulai pada hari-hari awal proyek WhereHows . LinkedIn mempertahankan versi DataHub-nya sendiri secara terpisah dari versi sumber terbuka. Kita akan mulai dengan menjelaskan mengapa kita memerlukan dua lingkungan pengembangan yang terpisah, setelah itu kita akan membahas pendekatan pertama untuk menggunakan sumber terbuka WhereHows dan membandingkan versi internal (produksi) DataHub dengan versi di GitHub.... Kami juga akan membagikan detail tentang solusi pengunggahan dan pengunduhan sumber terbuka otomatis baru kami untuk menjaga agar kedua repositori tetap sinkron. Terakhir, kami akan memberikan instruksi tentang cara mulai menggunakan DataHub open source dan secara singkat membahas arsitekturnya.
WhereHows sekarang menjadi 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 .
Kami juga berencana untuk memberikan solusi siap pakai untuk menerapkan DataHub di layanan cloud publik seperti Azure , AWS, atau Google Cloud . Mengingat pengumuman baru-baru ini tentang migrasi LinkedIn ke Azure, ini akan sejalan dengan prioritas internal grup metadata.
Terakhir, terima kasih kepada semua pengguna DataHub awal di komunitas open source yang menghargai DataHub versi alfa dan membantu kami mengidentifikasi masalah dan meningkatkan dokumentasi.