DataHub: ein vielseitiges Tool zum Suchen und Erkennen von Metadaten

DataHub: Ein vielseitiges Tool zum Suchen und Erkennen von Metadaten.



Als Betreiber des weltweit größten professionellen Netzwerks und wirtschaftlicher Grafiken arbeitet das Datenteam von LinkedIn ständig daran, seine Infrastruktur zu skalieren, um den Anforderungen unseres stetig wachsenden Big-Data-Ökosystems gerecht zu werden. Mit zunehmendem Datenvolumen und zunehmender Datenvielfalt wird es für Datenwissenschaftler und -ingenieure schwieriger, verfügbare Datenbestände zu ermitteln, ihre Herkunft zu verstehen und auf der Grundlage der Daten geeignete Maßnahmen zu ergreifen. Um die Leistung weiter zu skalieren und Innovationen in der Datenbank zu entwickeln, haben wir mit DataHub ein umfassendes Tool zur Suche und Ermittlung von Metadaten erstellt.



Anmerkung des Herausgebers: Seit Veröffentlichung dieses Blogposts hat das Team im Februar 2020 den DataHub mit Quellcode geöffnet . Weitere Informationen zum Open Source für die Plattform finden Sie hier .



Skalieren von Metadaten



Um die Produktivität der LinkedIn-Datengruppe zu verbessern, haben wir zuvor WhereHows, ein zentrales Metadaten-Repository und Portal für Datensätze, entwickelt und Open Source entwickelt. Der Typ der gespeicherten Metadaten umfasst sowohl technische Metadaten (z. B. Speicherort, Schemata, Abschnitte, Eigentumsverhältnisse) als auch Prozessmetadaten (z. B. Ursprung, Auftragsabschluss). WhereHows verfügt auch über eine Suchmaschine, mit der Sie Datensätze von Interesse finden können.



WhereHows 2016 , . , , , Dataportal AirBnb, Databook Uber, Metacat Netflix, Amundsen Lyft Data Catalog Google. LinkedIn . , WhereHows , . , WhereHows:



  1. Push , pull: . API . push .
  2. , : WhereHows , . API, . . , , , . , , , .
  3. , . , , , . — , Hadoop, . , . , , .
  4. . (, , ), , , , . .
  5. : , , ( ). , ( , , , , API , , , , , . .), .


DataHub



WhereHows , . LinkedIn , , . , , DataHub, : LinkedIn , .



WhereHows : . , . DataHub , 19 , , , , , , . , , , API .





- DataHub — , . Ember Framework Play. , -, ES9, ES.Next, TypeScript, Yarn with Yarn Workspaces, , Prettier ESLint. , , .





, - DataHub , , . Yarn Workspaces Ember Ember. , (, ) (, Ember npm / Yarn), - DataHub .



, . , , , , .



DataHub



: (1) , (2) (3) / . :















, , . , . , OR, NOT , .



DataHub , . , , . , « », .



— / — . « », . , , , , . , , , , , , , . . , , .





DataHub, , . :



  1. : .
  2. : API, .
  3. : , .
  4. : , .




, — «, ». , :



  1. — : , , , .
  2. : , . , , (ACL) , , , . , , .


, , Pegasus, , LinkedIn. Pegasus . , Pegasus , .



, Pegasus , , - (ERD).





— , — . , OwnedBy, HasMember HasAdmin. , , , , .



ERD, , . , « ». , , . : , . . , , . .



, , , , , firstName , firstName . , « » .



Pegasus, , Pegasus (PDSC). . -, PDSC User:



{
  "type": "record",
  "name": "User",
  "fields": [
    {
      "name": "urn",
      "type": "com.linkedin.common.UserUrn",
    },
    {
      "name": "firstName",
      "type": "string",
      "optional": true
    },
    {
      "name": "lastName",
      "type": "string",
      "optional": true
    },
    {
      "name": "ldap",
      "type": "com.linkedin.common.LDAP",
      "optional": true
    }
  ]
}


URN, GUID. User , , LDAP, .



PDSC OwnedBy:



{
  "type": "record",
  "name": "OwnedBy",
  "fields": [
    {
      "name": "source",
      "type": "com.linkedin.common.Urn",
    },
    {
      "name": "destination",
      "type": "com.linkedin.common.Urn",
    },
    {
      "name": "type",
      "type": "com.linkedin.common.OwnershipType",
    }
  ],
  "pairings": [
    {
      "source": "com.linkedin.common.urn.DatasetUrn",
      "destination": "com.linkedin.common.urn.UserUrn"
    }
  ]
}


, , «» « », URN. , , «». , «», URN. OwnedBy .



, . , type ldap. , PDSC. « — », .



{
  "type": "record",
  "name": "Ownership",
  "fields": [
    {
      "name": "owners",
      "type": {
        "type": "array",
        "items": {
          "name": "owner",
          "type": "record",
          "fields": [
            {
              "name": "type",
              "type": "com.linkedin.common.OwnershipType"
            },
            {
              "name": "ldap",
              "type": "string"
            }
          ]
        }
      }
    }
  ]
}


, , : , ERD. « » .





DataHub : API, Kafka. , , , .



API DataHub Rest.li, RESTful, LinkedIn. Rest.li Pegasus , , , . , API — API .



, Kafka (MCE), , URN . MCE Apache Avro, Pegasus.



API Kafka . , , , . .



LinkedIn Kafka - , . MCE , , , . , Apache Samza . Samza , . Avro Pegasus API Rest.li .







, , . DataHub :



  1. -
  2. ,


DataHub , . , Espresso — NoSQL LinkedIn, - CRUD. Galene . , , , . , , .



DataHub (DAO), DAO -, DAO DAO. DAO , - - DataHub. DataHub , LinkedIn.





DAO — (CDC). , DAO «-» (MAE). MAE URN , . -, MAE , . MCE, MAE .





— . , . - Samza, MAE. MAE. , .



, URN MAE .







DataHub, LinkedIn. .



DataHub LinkedIn . 1500 , , . LinkedIn , 23 , 25 , 500 , , LinkedIn, , .



Wir verbessern DataHub weiter, indem wir dem Produkt interessantere User Stories und Relevanzalgorithmen hinzufügen. Wir planen außerdem, native GraphQL- Unterstützung hinzuzufügen und die Pegasus Domain Specific Language (PDL) zu verwenden, um die Codegenerierung in naher Zukunft zu automatisieren. In der Zwischenzeit arbeiten wir aktiv daran, diese WhereHows-Entwicklung mit der Open Source-Community zu teilen, und wir werden nach der Veröffentlichung des DataHub eine Ankündigung machen.




All Articles