Utiliser Spark SQL avec Dataproc Metastore

Cette page vous montre un exemple d'utilisation de SparkSQL avec un service Dataproc Metastore. Dans cet exemple, vous allez lancer une session SparkSQL sur un cluster Dataproc et exécuter quelques exemples de commandes pour créer une base de données et une table.

Avant de commencer

Se connecter à Spark SQL

Pour commencer à utiliser SparkSQL, connectez-vous en SSH 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.

Pour vous connecter à Spark SQL

  1. Dans la console Google Cloud , accédez à la page Instances de VM.
  2. 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 de base sur le nœud, avec une sortie semblable à ce qui 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 :

  1. Démarrez l'interface système Spark.

    spark-shell
    
  2. Créez une base de données nommée myDB.

    spark.sql("create database myDB");
    
  3. Utilisez la base de données que vous avez créée.

    spark.sql("use myDB");
    
  4. Créez une table appelée myTable.

    spark.sql("create table bar(id int,name string)");
    
  5. Listez les tables sous myDatabase.

    spark.sql("show tables").show();
    
  6. Affichez les lignes du tableau que vous avez créé.

    desc myTable;
    

L'exécution de ces commandes génère un résultat semblable au suivant :

$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|
+--------+---------+-------+

Étapes suivantes