DataHub de código aberto: plataforma de pesquisa e descoberta de metadados do LinkedIn

DataHub de código aberto: plataforma de pesquisa e descoberta de metadados do LinkedIn



Encontrar os dados certos rapidamente é essencial para qualquer empresa que depende de grandes quantidades de dados para tomar decisões com base nesses dados. Isso não afeta apenas a produtividade dos usuários de dados (incluindo analistas, desenvolvedores de aprendizado de máquina, cientistas e engenheiros de dados), mas também tem um impacto direto nos produtos finais que dependem de um pipeline de aprendizado de máquina (ML) de qualidade. Além disso, a tendência de introduzir ou construir plataformas de aprendizado de máquina naturalmente levanta a questão: qual é o seu método de descobrir internamente recursos, modelos, métricas, conjuntos de dados etc.



Neste artigo, compartilharemos como publicamos a fonte de dados DataHub em nossa plataforma de pesquisa e descoberta de metadados sob a licença aberta , começando com os primeiros dias do projeto WhereHows . O LinkedIn mantém sua própria versão do DataHub separadamente da versão de código aberto. Começaremos explicando por que precisamos de dois ambientes de desenvolvimento separados, depois dos quais discutiremos as primeiras abordagens para usar o código aberto WhereHows e comparar nossa versão interna (produção) do DataHub com a versão no GitHub.... Também compartilharemos detalhes sobre nossa nova solução automatizada de upload e download de código aberto para manter os dois repositórios sincronizados. Por fim, forneceremos instruções sobre como começar a usar o DataHub de código aberto e discutiremos brevemente sua arquitetura.





WhereHows agora é 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 .



Também planejamos fornecer uma solução pronta para implantar o DataHub em um serviço de nuvem pública, como Azure , AWS ou Google Cloud . Dado o recente anúncio da migração do LinkedIn para o Azure, isso se alinhará com as prioridades internas do grupo de metadados.



Por último, mas não menos importante, obrigado a todos os primeiros usuários do DataHub na comunidade de código aberto que apreciaram as versões alfa do DataHub e nos ajudaram a identificar problemas e melhorar a documentação.




All Articles