Utilizzo di 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 ed 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 servizio Dataproc Metastore. Dopo aver effettuato 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 di macchine virtuali, fai clic su SSH nella riga dell'istanza VM Dataproc a cui vuoi connetterti.

Si apre una finestra del browser nella home directory sul nodo 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 questi comandi nella sessione SSH:

  1. Avvia la shell di 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