Konfigurieren von Snowflake für Spark in Qubole

Zum Konfigurieren von Snowflake für Spark in Qubole fügen Sie Snowflake einfach als Qubole-Datenspeicher hinzu. Unter diesem Thema wird eine schrittweise Anleitung zur Umsetzung dieser Aufgabe über die Qubole Data Service (QDS)-UI bereitgestellt.

Bemerkung

Sie können auch die QDS REST API verwenden, um Snowflake als Datenspeicher hinzuzufügen. Eine schrittweise Anleitung finden Sie unter Hinzufügen eines Snowflake Data Warehouse als Datenspeicher (in der Qubole-Dokumentation).

Unter diesem Thema:

Voraussetzungen

  • Sie müssen ein QDS-Systemadministrator sein, um einen Datenspeicher hinzufügen zu können.

  • Sie müssen über ein Qubole Enterprise Edition-Konto verfügen.

  • Die für die Verbindung verwendete Rolle benötigt USAGE- und CREATE STAGE-Berechtigungen für das Schema, das die Tabelle enthält, aus der Sie lesen bzw. in die Sie via Qubole schreiben werden.

Vorbereiten eines externen Speicherorts für zeitintensive Abfragen

Wenn einige Ihrer Jobs länger als 36 Stunden dauern, sollten Sie erwägen, einen externen Speicherort für den Datenaustausch zwischen Snowflake und Spark vorzubereiten. Weitere Informationen dazu finden Sie unter Vorbereiten eines externen Speicherorts für Dateien.

Hinzufügen von Snowflake als Datenspeicher über die QDS-UI

  1. Klicken Sie im Menü Home auf Explore.

  2. Wählen Sie in der Dropdown-Liste auf der Seite E​xplore die Option + Add Data Store aus.

  3. Geben Sie die erforderlichen Informationen in die folgenden Felder ein:

    • Data Store Name: Geben Sie den Namen des zu erstellenden Datenspeichers ein.

    • Database Type: Wählen Sie „Snowflake“ aus.

    • Catalog Name: Geben Sie den Namen des Snowflake-Katalogs ein.

    • Database Name: Geben Sie den Namen der Datenbank in Snowflake ein, in der die Daten gespeichert sind.

    • Warehouse Name: Geben Sie den Namen des virtuellen Snowflake-Warehouse ein, das für Abfragen verwendet werden soll.

    • Host Address: Geben Sie die Basis-URL Ihres Snowflake-Kontos ein (z. B. qubole.snowflakecomputing.com).

    • Username: Geben Sie den Anmeldenamen Ihres Snowflake-Benutzers ein (über den Sie sich mit dem Host verbinden).

    • Password: Geben Sie das Kennwort Ihres Snowflake-Benutzers ein (zur Verbindung mit dem Host).

    Beachten Sie, dass mit Ausnahme der Host Address bei allen Werten die Groß-/Kleinschreibung relevant ist.

  4. Klicken Sie auf Save, um den Datenspeicher zu erstellen.

Wiederholen Sie diese Schritte für jede Snowflake-Datenbank, die Sie als Datenspeicher hinzufügen möchten. Sie können aber auch den Datenspeicher bearbeiten, um die Snowflake-Datenbank oder andere Eigenschaften für den Datenspeicher zu ändern (z. B. das für Abfragen verwendete virtuelle Warehouse).

Bemerkung

Nachdem Sie einen Snowflake-Datenspeicher hinzugefügt haben, starten Sie den Spark-Cluster neu (wenn Sie einen bereits ausgeführten Spark-Cluster verwenden). Beim Neustart des Spark-Clusters werden die .jar-Dateien für den Snowflake-Konnektor für Spark und der Snowflake-JDBC-Treiber installiert.

Überprüfen des Snowflake-Datenspeichers in Qubole

Um zu überprüfen, ob der Snowflake-Datenspeicher erstellt und aktiviert wurde, klicken Sie oben links auf der Seite E​xplore auf die Dropdown-Liste. Ein grüner Punkt zeigt an, dass der Datenspeicher aktiviert ist.

Sie sollten auch überprüfen, ob das Tabellen-Explorer-Widget im linken Bereich der Explore-Seite alle Tabellen anzeigt, die im Datenspeicher für die Snowflake-Datenbank angegeben sind.

Abfrage-Pushdown in Qubole

Spark-Abfragen profitieren von der automatischen Abfrage-Pushdown-Optimierung in Snowflake, mit der die Performance deutlich verbessert wird. Standardmäßig ist Snowflake-Abfrageverschiebung (Pushdown) in Qubole aktiviert.

Weitere Details zum Abfrage-Pushdown finden Sie unter Spark-Abfrageverarbeitung mit Snowflake (Snowflake-Blog).