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 connecté au cluster avec 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 machines virtuelles, 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 et affiche 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. 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|
+--------+---------+-------+

Étapes suivantes