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
- Erstellen Sie einen Dataproc Metastore-Dienst.
- Hängen Sie den Dataproc Metastore-Dienst an einen Managed Service for Apache Spark-Cluster an.
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
- Rufen Sie in der Google Cloud Console die Seite VM Instanzen auf.
- 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:
Starten Sie die Spark-Shell.
spark-shellErstellen Sie eine Datenbank namens
myDB.spark.sql("create database myDB");Verwenden Sie die von Ihnen erstellte Datenbank.
spark.sql("use myDB");Erstellen Sie eine Tabelle namens
myTable.spark.sql("create table bar(id int,name string)");Listen Sie die Tabellen unter
myDatabaseauf.spark.sql("show tables").show();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|
+--------+---------+-------+