Usa Spark SQL con Dataproc Metastore

En esta página, se muestra un ejemplo del uso de Spark SQL con un servicio de Dataproc Metastore. En este ejemplo, iniciarás una sesión de Spark SQL en un clúster de Dataproc y ejecutarás algunos comandos de muestra para crear una base de datos y una tabla.

Antes de comenzar

Conéctate a Spark SQL

Para comenzar a usar Spark SQL, usa SSH para conectarte al clúster de Dataproc que se asociado con tu servicio de Dataproc Metastore. Después de conectarte al clúster con SSH, puedes ejecutar comandos de Spark para administrar tus metadatos.

Cómo conectarse a Spark SQL

  1. En la consola de Google Cloud, ve a la página Instancias de VM.
  2. En la lista de instancias de máquina virtual, haz clic en SSH en la fila de la instancia de VM de Dataproc a la que deseas conectarte.

Se abrirá una ventana del navegador en tu directorio principal en el nodo con un resultado similar. por lo siguiente:

Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$

Para iniciar Hive y crear una base de datos y una tabla, ejecuta los siguientes comandos en la sesión de SSH:

  1. Inicia la shell de Spark.

    spark-shell
    
  2. Crea una base de datos llamada myDB.

    spark.sql("create database myDB");
    
  3. Usa la base de datos que creaste.

    spark.sql("use myDB");
    
  4. Crea una tabla llamada myTable.

    spark.sql("create table bar(id int,name string)");
    
  5. Enumera las tablas en myDatabase.

    spark.sql("show tables").show();
    
  6. Muestra las filas de la tabla que creaste.

    desc myTable;
    

Cuando ejecutas estos comandos, se muestra un resultado similar al siguiente:

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

¿Qué sigue?