Utiliser Spark SQL avec Dataproc Metastore

Cette page présente un exemple d'utilisation de Spark SQL avec un service Dataproc Metastore. 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

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 via SSH, vous pouvez exécuter des commandes Spark pour gérer vos métadonnées.

Se 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 d'accueil sur le nœud avec une sortie semblable à celle-ci:

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. Répertoriez les tables sous myDatabase.

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

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

Étape suivante