Datenspeicher für interne Tabellen

Dataproc Metastore verwendet Zuordnungen zwischen Apache Hadoop Distributed File System (HDFS) oder Hive-kompatiblen Speichersystemdateien und Apache Hive-Tabellen, um Ihre Metadaten vollständig zu verwalten. Die folgenden Konzepte und Überlegungen sind wichtig, wenn Sie einen Dataproc-Cluster oder einen anderen selbstverwalteten Cluster anhängen, um einen Dataproc Metastore-Dienst als zugehörigen Hive-Metastore zu verwenden.

Hive-Metastore-Konzepte

Alle Hive-Anwendungen können verwaltete interne oder nicht verwaltete externe Tabellen haben. Bei internen Tabellen verwaltet Hive-Metastore nicht nur die Metadaten, sondern auch die Daten für diese Tabellen. Bei externen Tabellen dagegen verwaltet Hive-Metastore nicht die Daten, sondern nur die Metadaten für diese Tabellen.

Wenn Sie beispielsweise eine Tabellendefinition mit der Hive-SQL-Anweisung DROP TABLE löschen:

drop table foo
  • Für interne Tabellen: Der Hive-Metaspeicher entfernt diese Metadateneinträge aus dem Hive Metastore und löscht außerdem die mit dieser speziellen Tabelle verknüpften Dateien.

  • Bei externen Tabellen: Der Hive-Metaspeicher löscht nur die Metadaten und behält die Daten bei, die mit dieser bestimmten Tabelle verknüpft sind.

Cloud Storage-Bucket erstellen

Wenn Sie einen Dataproc Metastore-Dienst erstellen, wird in Ihrem Projekt automatisch ein Cloud Storage-Bucket erstellt. Dieser Bucket wird als dauerhafter Speicher verwendet, um die Dienstartefakte und -metadaten zu speichern, z. B. Dumpdateien und Debug-Logs.

Hive-Warehouse-Verzeichnis

Damit Hive-Metastore ordnungsgemäß ausgeführt wird, müssen Sie beim Erstellen des Dienstes möglicherweise Dataproc Metastore mit dem Hive-Warehouse-Verzeichnis angeben. Dies gilt sowohl für interne als auch für externe Tabellen. Dieses Verzeichnis enthält Unterverzeichnisse, die internen Tabellen entsprechen und die tatsächlichen Daten in der Tabelle speichern. Sie sind häufig Cloud Storage-Buckets.

Unabhängig davon, ob Sie Dataproc Metastore mit einem Warehouse-Verzeichnis bereitstellen oder nicht, erstellt Dataproc Metastore einen Cloud Storage-Artefakt-Bucket zum Speichern von Dienstartefakten für Sie.

Wenn Sie ein Hive-Warehouse-Verzeichnis bereitstellen möchten:

  • Sorgen Sie dafür, dass Ihr Dataproc Metastore-Dienst über die Berechtigung zum Zugriff auf das Warehouse-Verzeichnis verfügt. Dazu gewähren Sie dem Dataproc Metastore-Steuerungsdienst-Agent den Lese-/Schreibzugriff auf das Objekt (roles/storage.objectAdmin). Diese Berechtigung muss auf Bucket-Ebene oder höher festgelegt werden. Das Dienstkonto, dem Sie Zugriff gewähren müssen, ist service-customer-project-number@gcp-sa-metastore.iam.gserviceaccount.com.

    Unter Zugriffssteuerung für Cloud Storage erfahren Sie, wie Sie den Lese- und Schreibberechtigungen von Dataproc Metastore-Dienst-Agents in Ihrem Warehouse-Verzeichnis erteilen.

Wenn Sie kein Hive-Warehouse-Verzeichnis bereitstellen möchten:

  • Dataproc Metastore erstellt automatisch ein Warehouse-Verzeichnis am Standardspeicherort gs://your-artifacts-bucket/hive-warehouse.

  • Sorgen Sie dafür, dass Ihr Dataproc-VM-Dienstkonto die Berechtigung für den Zugriff auf das Warehouse-Verzeichnis hat. Dazu gewähren Sie dem Dataproc-VM-Dienst-Agent den Lese-/Schreibzugriff auf Objekte, also roles/storage.objectAdmin. Diese Berechtigung muss auf Bucket-Ebene oder höher festgelegt werden.

Cloud Storage-Bucket löschen

Beim Löschen des Dataproc Metastore-Dienstes wird nicht der Cloud Storage-Artefakt-Bucket gelöscht. Dies liegt daran, dass Ihr Bucket nützliche Daten über den Dienst hinaus enthalten kann. Sie müssen den Bucket explizit löschen, wenn Sie dies möchten.

Nächste Schritte