Cette page présente un exemple d'utilisation de Spark SQL avec un Dataproc Metastore Google Cloud. Dans cet exemple, vous lancez une session Spark SQL sur un cluster Dataproc et exécutez des exemples de commandes pour créer une base de données et une table.
Avant de commencer
- Créez un service Dataproc Metastore.
- associer le service Dataproc Metastore à un cluster Dataproc ;
Se connecter à Spark SQL
Pour commencer à utiliser Spark SQL, utilisez SSH pour vous connecter au cluster Dataproc associé à votre service Dataproc Metastore. Une fois que vous vous êtes connecté au cluster avec SSH, vous pouvez exécuter des commandes Spark pour gérer vos métadonnées.
Se connecter à Spark SQL
- Dans la console Google Cloud, accédez à la page Instances de VM.
- Dans la liste des instances de machine virtuelle, cliquez sur SSH sur la ligne de l'instance de VM Dataproc à laquelle vous souhaitez vous connecter.
Une fenêtre de navigateur s'ouvre dans votre répertoire d'accueil sur le nœud, avec un résultat semblable comme suit:
Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$
Pour démarrer Hive et créer une base de données et une table, exécutez les commandes suivantes dans la session SSH:
Démarrez l'interface système Spark.
spark-shell
Créez une base de données nommée
myDB
.spark.sql("create database myDB");
Utilisez la base de données que vous avez créée.
spark.sql("use myDB");
Créez une table appelée
myTable
.spark.sql("create table bar(id int,name string)");
Répertoriez les tables sous
myDatabase
.spark.sql("show tables").show();
Affichez les lignes de la table que vous avez créée.
desc myTable;
L'exécution de ces commandes affiche un résultat semblable à celui-ci:
$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|
+--------+---------+-------+