Usar Spark SQL con Dataproc Metastore

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

Antes de empezar

Conectarse a Spark SQL

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

Para 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 máquina virtual de Dataproc a la que quieras conectarte.

Se abrirá una ventana del navegador en el directorio principal del nodo con un resultado similar al 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 SSH:

  1. Inicia el 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 has creado.

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

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

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

    desc myTable;
    

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

Siguientes pasos