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
  • Bei internen Tabellen entfernt Hive-Metastore diese Metadateneinträge in Hive-Metastore. Außerdem werden die mit dieser Tabelle verknüpften Dateien gelöscht.

  • Bei externen Tabellen löscht Hive-Metastore lediglich die Metadaten. Die mit dieser Tabelle verknüpften Daten werden beibehalten.

Cloud Storage-Bucket erstellen

Wenn Sie einen Dataproc Metastore-Dienst erstellen, wird automatisch ein Cloud Storage-Bucket in Ihrem Projekt erstellt. Dieser Bucket wird als permanenter Speicher zum Speichern der Dienstartefakte und -metadaten wie Dumpdateien und Debug-Logs verwendet.

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, in dem Dienstartefakte gespeichert werden, die Sie nutzen können.

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

  • Der Dataproc Metastore-Dienst muss Lese-/Schreibzugriff auf das Warehouse-Verzeichnis haben. Dazu gewähren Sie dem Dataproc Metastore-Steuerungs-Dienst-Agent Lese-/Schreibzugriff, also roles/storage.objectAdmin. Diese muss auf Bucket-Ebene oder höher festgelegt werden. Das Dienstkonto, dem Sie Zugriff gewähren möchten, ist service-customer-project-number@gcp-sa-metastore.iam.gserviceaccount.com.

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

Wenn Sie kein Hive Warehouse-Verzeichnis angeben:

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

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