Nesta página, mostramos um exemplo de uso do Spark SQL com um metastore do Dataproc serviço. Neste exemplo, você inicia uma sessão do Spark SQL em um cluster do Dataproc e executar alguns comandos de exemplo para criar um banco de dados e uma tabela.
Antes de começar
- Crie um serviço Metastore do Dataproc.
- Anexe o serviço Metastore do Dataproc a um cluster do Dataproc.
Conecte-se ao Spark SQL
Para começar a usar o Spark SQL, use o SSH para se conectar ao cluster do Dataproc que associados ao serviço Metastore do Dataproc. Depois de se conectar a cluster com SSH, é possível executar comandos Spark para gerenciar seus metadados.
Para se conectar ao Spark SQL
- No console do Google Cloud, acesse a página Instâncias de VM.
- Na lista de instâncias de máquina virtual, clique em SSH na linha da instância de VM do Dataproc à qual você quer se conectar.
Uma janela de navegador é aberta no diretório inicial do nó com uma saída semelhante a esta:
Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$
Para iniciar o Hive e criar um banco de dados e uma tabela, execute os seguintes comandos na sessão SSH:
Inicie o shell do Spark.
spark-shell
Crie um banco de dados denominado
myDB
.spark.sql("create database myDB");
Use o banco de dados que você criou.
spark.sql("use myDB");
Crie uma tabela chamada
myTable
.spark.sql("create table bar(id int,name string)");
Liste as tabelas em
myDatabase
.spark.sql("show tables").show();
Mostre as linhas da tabela que você criou.
desc myTable;
A execução desses comandos mostra uma saída semelhante a esta:
$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|
+--------+---------+-------+