Utilizzare Spark SQL con Dataproc Metastore

Questa pagina mostra un esempio di utilizzo di Spark SQL con un servizio Dataproc Metastore. In questo esempio, avvii una sessione Spark SQL su un cluster Dataproc esegui alcuni comandi di esempio per creare un database e una tabella.

Prima di iniziare

Connettiti a Spark SQL

Per iniziare a utilizzare Spark SQL, utilizza SSH per connetterti al cluster Dataproc associato al tuo servizio Dataproc Metastore. Dopo aver eseguito la connessione al cluster con SSH, puoi eseguire i comandi Spark per gestire i metadati.

Per connettersi a Spark SQL

  1. Nella console Google Cloud, vai alla pagina Istanze VM.
  2. Nell'elenco delle istanze della macchina virtuale, fai clic su SSH nella riga dell'istanza VM Dataproc a cui vuoi connetterti.

Nella home directory del nodo si apre una finestra del browser con un output simile al seguente:

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

Per avviare Hive e creare un database e una tabella, esegui i seguenti comandi nella sessione SSH:

  1. Avvia la shell Spark.

    spark-shell
    
  2. Crea un database denominato myDB.

    spark.sql("create database myDB");
    
  3. Utilizza il database che hai creato.

    spark.sql("use myDB");
    
  4. Crea una tabella denominata myTable.

    spark.sql("create table bar(id int,name string)");
    
  5. Elenca le tabelle in myDatabase.

    spark.sql("show tables").show();
    
  6. Mostra le righe della tabella che hai creato.

    desc myTable;
    

L'esecuzione di questi comandi mostra un output simile al seguente:

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

Passaggi successivi