Esta página mostra um exemplo de uso do Spark SQL com um serviço do metastore do Dataproc. Neste exemplo, você inicia uma sessão do Spark SQL em um cluster do Dataproc e executa 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.
Conectar-se ao Spark SQL
Para começar a usar o Spark SQL, use o SSH para se conectar ao cluster do Dataproc associado ao serviço do metastore do Dataproc. Depois de se conectar ao cluster com SSH, você pode executar comandos do 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|
+--------+---------+-------+