Spark SQL mit Dataproc Metastore verwenden

Auf dieser Seite sehen Sie ein Beispiel für die Verwendung von Spark SQL mit einem Dataproc Metastore-Dienst. In diesem Beispiel starten Sie eine Spark SQL-Sitzung in einem Managed Service for Apache Spark-Cluster und führen einige Beispielbefehle aus, um eine Datenbank und eine Tabelle zu erstellen.

Hinweis

Verbindung zu Spark SQL herstellen

Um Spark SQL zu verwenden, stellen Sie eine SSH-Verbindung zum Managed Service for Apache Spark-Cluster her, der mit Ihrem Dataproc Metastore-Dienst verknüpft ist. Nachdem Sie eine SSH-Verbindung zum Cluster hergestellt haben, können Sie Spark-Befehle ausführen, um Ihre Metadaten zu verwalten.

Verbindung zu Spark SQL herstellen

  1. Rufen Sie in der Google Cloud Console die Seite VM Instanzen auf.
  2. Klicken Sie in der Liste der VM-Instanzen in der Zeile der Managed Service for Apache Spark-VM-Instanz, zu der Sie eine Verbindung herstellen möchten, auf SSH.

Im Stammverzeichnis des Knotens wird ein Browserfenster mit einer Ausgabe ähnlich der folgenden geöffnet:

Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$

Führen Sie in der SSH-Sitzung die folgenden Befehle aus, um Hive zu starten und eine Datenbank und eine Tabelle zu erstellen:

  1. Starten Sie die Spark-Shell.

    spark-shell
    
  2. Erstellen Sie eine Datenbank namens myDB.

    spark.sql("create database myDB");
    
  3. Verwenden Sie die von Ihnen erstellte Datenbank.

    spark.sql("use myDB");
    
  4. Erstellen Sie eine Tabelle namens myTable.

    spark.sql("create table bar(id int,name string)");
    
  5. Listen Sie die Tabellen unter myDatabase auf.

    spark.sql("show tables").show();
    
  6. Zeigen Sie die Tabellenzeilen in der von Ihnen erstellten Tabelle an.

    desc myTable;
    

Die Ausführung dieser Befehle führt zu einer Ausgabe ähnlich der folgenden:

$spark-shell

scala>spark.sql("create database myDB");

scala>spark.sql("use myTable");

scala>spark.sql("create table myTable(id int,name string)");

scala>spark.sql("show tables").show();

+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
|    myDB|  myTable|      false|
+--------+---------+-----------+
+--------+---------+-------+
|col_name|data_type|comment|
+--------+---------+-------+
|      id|      int|   null|
|    name|   string|   null|
+--------+---------+-------+

Nächste Schritte