Open Source DataHub: la plataforma de búsqueda y descubrimiento de metadatos de LinkedIn

Open Source DataHub: la plataforma de búsqueda y descubrimiento de metadatos de LinkedIn



Encontrar los datos correctos rápidamente es esencial para cualquier empresa que se base en grandes cantidades de datos para tomar decisiones basadas en esos datos. Esto no solo afecta la productividad de los usuarios de datos (incluidos analistas, desarrolladores de aprendizaje automático, científicos de datos e ingenieros de datos), sino que también tiene un impacto directo en los productos finales que dependen de una canalización de aprendizaje automático (ML) de calidad. Además, la tendencia hacia la introducción o creación de plataformas de aprendizaje automático plantea naturalmente la pregunta: ¿cuál es su método para descubrir internamente características, modelos, métricas, conjuntos de datos, etc.



En este artículo, compartiremos cómo publicamos la fuente de datos DataHub bajo licencia abierta en nuestra plataforma de búsqueda y descubrimiento de metadatos, comenzando en los primeros días del proyecto WhereHows . LinkedIn mantiene su propia versión de DataHub por separado de la versión de código abierto. Comenzaremos explicando por qué necesitamos dos entornos de desarrollo separados, después de lo cual discutiremos los primeros enfoques para usar el código abierto WhereHows y compararemos nuestra versión interna (producción) de DataHub con la versión en GitHub.... También compartiremos detalles sobre nuestra nueva solución automatizada de carga y descarga de código abierto para mantener ambos repositorios sincronizados. Finalmente, daremos instrucciones sobre cómo comenzar a usar el DataHub de código abierto y discutiremos brevemente su arquitectura.





¡WhereHows ahora es 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 .



También planeamos proporcionar una solución llave en mano para implementar DataHub en un servicio de nube pública como Azure , AWS o Google Cloud . Dado el reciente anuncio de la migración de LinkedIn a Azure, esto se alineará con las prioridades internas del grupo de metadatos.



Por último, pero no menos importante, gracias a todos los primeros usuarios de DataHub en la comunidad de código abierto que apreciaron las versiones alfa de DataHub y nos ayudaron a identificar problemas y mejorar la documentación.




All Articles