Code-Beispiele: Apache Spark™

In diesem Abschnitt finden Sie Codebeispiele für die Verwendung von Apache Spark™, um die folgenden Aufgaben in Snowflake Open Catalog zu erledigen:

  • Konfigurieren Sie eine Dienstverbindung

  • Einen Katalog verwenden

  • Kataloge auflisten

  • Namespaces auflisten

  • Einen Namespace erstellen

  • Einen Namespace verwenden

  • Einen Namespace löschen

  • Tabelle erstellen

  • Eine Tabelle abfragen

  • Eigenschaften der Tabelle anzeigen

  • Tabellen auflisten

  • Eine Tabelle löschen

Erforderliche Berechtigungen

Um die Befehle in den Codebeispielen ausführen zu können, müssen dem Dienstprinzipal, den Sie für die Verbindung von Spark mit Open Catalog verwenden, die folgenden Berechtigungen erteilt werden:

Befehl

Erforderliche Berechtigung

Namespaces anzeigen

NAMESPACE_LIST

Namespace erstellen

NAMESPACE_CREATE

Namespace verwenden

NAMESPACE_READ_PROPERTIES

Tabellen anzeigen

TABLE_LIST

Tabelle erstellen oder ersetzen

  • TABLE_WRITE_DATA
  • TABLE_CREATE

Namespace löschen

NAMESPACE_DROP

Tabelle löschen

TABLE_DROP

In Tabelle einfügen

TABLE_WRITE_DATA

Aus Tabelle auswählen

TABLE_READ_DATA

Konfigurieren Sie eine Dienstverbindung

Siehe Beispiele für die Konfiguration einer Dienstverbindung in Spark.

Katalog verwenden

Verwenden Sie den Katalog catalog1:

spark.sql("use catalog1").show()
Copy

Kataloge auflisten

Auflistung der Kataloge, mit denen Sie verbunden sind:

spark.sql("show catalogs").show()
Copy

Namespaces auflisten

Auflistung der Namespaces für den Katalog, mit dem Sie verbunden sind:

spark.sql("show namespaces").show()
Copy

Einen Namespace erstellen

Erstellen Sie den Namespace namespace1:

spark.sql("CREATE NAMESPACE namespace1")
Copy

Einen Namespace verwenden

Verwenden Sie den Namespace namespace1:

spark.sql("use namespace1").show()
Copy

Einen Namespace löschen

Löschen Sie den Namespace namespace1 aus dem Katalog:

spark.sql("DROP NAMESPACE namespace1")
Copy

Tabelle erstellen

Erstellen Sie eine Tabelle Kunden unter dem übergeordneten Objekt Namespace1:

spark.sql ("use namespace1");
spark.sql("CREATE OR REPLACE TABLE customers (id int, custnum int) using iceberg")
Copy

Eine Tabelle abfragen

Abfrage der Tabelle Kunden:

spark.sql ("use namespace1");
spark.sql("SELECT * FROM customers").show()
Copy

Eigenschaften der Tabelle anzeigen

Zeigen Sie die Eigenschaften der Tabelle Kunden an:

spark.sql("SHOW TBLPROPERTIES customers").show(50, False)
Copy

Tabellen auflisten

Auflistung der Tabellen für den Katalog, mit dem Sie verbunden sind:

spark.sql("show tables").show()
Copy

Eine Tabelle löschen

Legen Sie die Tabelle Kunden unter dem übergeordneten Objekt Namespace1 ab:

spark.sql ("use namespace1");
spark.sql("DROP TABLE customers")
Copy