Die Metadatenfederation ist ein Dienst, mit dem Sie über einen einzigen Endpunkt auf mehrere Metadatenquellen zugreifen können.
Zum Einrichten der Föderation erstellen Sie einen Föderationsdienst und konfigurieren dann Ihre Metadatenquellen. Anschließend stellt der Dienst einen einzelnen gRPC-Endpunkt bereit, über den Sie auf alle Ihre Metadaten zugreifen können.
Mithilfe der Verknüpfung können Sie beispielsweise einen Dataproc-Cluster erstellen, der mehrere Dataproc Metastore-Dienste über einen einzigen Endpunkt bereitstellt. Anschließend können Sie Big-Data-Jobs über Open-Source-Software (OSS)-Engines wie Spark oder Hive ausführen, um über mehrere Metastores auf Ihre Metadaten zuzugreifen.
Funktionsweise von Föderation
Big-Data-Arbeitslasten von OSS, die in Spark oder Hive ausgeführt werden, senden Anfragen an die Hive. Metastore API zum Abrufen von Metadaten zur Laufzeit.
- Die Hive-Metastore-Schnittstelle unterstützt sowohl Lese- als auch Schreibmethoden. Der Federation-Dienst stellt eine gRPC-Version der Hive Metastore-Schnittstelle bereit.
- Wenn der Verbandsdienst während der Laufzeit eine Anfrage erhält, prüft er die Quellreihenfolge, um die entsprechenden Metadaten abzurufen.
Metadatenquellen
Wenn Sie einen Dienst zur Datenabfrage erstellen, müssen Sie eine Metadatenquelle hinzufügen. Sie können die folgenden Quellen als Backend-Metaspeicher verwenden:
- Eine Dataproc Metastore-Instanz.
- Ein Projekt mit einem oder mehreren BigQuery-Datasets.
- Dataplex-Lake (Vorabversion)
Quelleneinschränkungen
Im folgenden Abschnitt sind die Einschränkungen aufgeführt, die Sie beim mithilfe verschiedener Metadatenquellen.
Alle Quellen
Die folgenden Einschränkungen gelten für alle Metadatenquellen:
- Ein Verbandsdienst enthält keine eigenen Daten. Stattdessen stellt der Dienst nur Metadaten aus einer seiner Metadatenquellen bereit.
- Ein Föderationsdienst kann keine Quelle für Metadaten in einer anderen Föderation sein Service.
Dataproc Metastore
Wenn Sie einen Dataproc Metastore als Quelle verwenden, gilt Folgendes: Es gelten Einschränkungen:
- Federation-Dienste sind nur über gRPC-Endpunkte verfügbar. Um eine Dataproc Metastore mit Föderation – Metastore erstellen mit einem gRPC-Endpunkt
- Föderationsdienste können an Dataproc Metastore in einer einzelnen Region angehängt werden in einer Region verfügbar sind. Federation-Dienste unterstützen keine Dataproc Metastore-Dienste mit mehreren Regionen.
BigQuery
Wenn Sie ein Projekt mit BigQuery-Datasets als Quelle verwenden, müssen die folgenden Bedingungen erfüllt sein:
- Gewähren Sie die richtigen IAM-Rollen für den Zugriff auf das Projekt, das die BigQuery-Datasets
- Fügen Sie mindestens einen Dataproc Metastore-Dienst als Quelle hinzu, mit Ihren BigQuery-Datasets.
Dataplex-Lakes
- Gewähren Sie eine IAM-Rolle mit der Berechtigung
dataplex.lakes.get
. - Fügen Sie mindestens einen Dataproc Metastore-Dienst als Quelle sowie Ihren Dataplex-Lake hinzu.
Quellensortierung
Ihr Föderationsdienst verarbeitet Metadatenanfragen in der Reihenfolge der Priorität. Dieses Konzept wird als Quellensortierung bezeichnet. Wenn der Verbandsdienst während der Laufzeit eine Anfrage erhält, prüft er die Quellenreihenfolge und führt eine der folgenden Aktionen aus:
- Wenn die Anfrage einen Datenbanknamen enthält Die Anfrage wird an den Back-End-Metastore, der den Datenbanknamen enthält. Wenn mehrere denselben Datenbanknamen enthält, wird die Anfrage an den den Metastore mit dem niedrigsten Rang.
- Ob durch die Anfrage eine Datenbank erstellt oder gelöscht wird. Die Anfrage wird an den Metastore mit dem niedrigsten Rang weitergeleitet.
- Wenn die Anfrage keinen Datenbanknamen enthält und keine Datenbank erstellt oder gelöscht wird Die Anfrage wird an den
Dataproc Metastore-Instanz mit dem niedrigsten Rang. Beispiele für Hive Metastore-Anfragen ohne Angabe einer Datenbank sind
set_ugi
undcreate_database
. - Keiner der Metaspeicher enthält eine Datenbank. Die OSS-Engine antwortet mit dem Äquivalent eines Fehlers vom Typ „Nicht gefunden“.