将 Spark SQL 与 Dataproc Metastore 搭配使用

本页面展示了一个将 Spark SQL 与 Dataproc Metastore 服务结合使用的示例。在此示例中,您将在 Dataproc 集群上启动 Spark SQL 会话,并运行一些示例命令来创建数据库和表。

准备工作

连接到 Spark SQL

如需开始使用 Spark SQL,请使用 SSH 连接到与您的 Dataproc Metastore 服务关联的 Dataproc 集群。使用 SSH 连接到集群后,您可以运行 Spark 命令来管理元数据。

连接到 Spark SQL

  1. 在 Google Cloud 控制台中,转到虚拟机实例页面。
  2. 在虚拟机实例列表中,点击要连接的 Dataproc 虚拟机实例行中的 SSH

在该节点上的主目录中打开了一个浏览器窗口,其输出类似于以下内容:

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

如需启动 Hive 并创建数据库和表,请在 SSH 会话中运行以下命令:

  1. 启动 Spark shell。

    spark-shell
    
  2. 创建一个名为 myDB 的数据库。

    spark.sql("create database myDB");
    
  3. 使用您创建的数据库。

    spark.sql("use myDB");
    
  4. 创建一个名为 myTable 的表。

    spark.sql("create table bar(id int,name string)");
    
  5. 列出 myDatabase 下的表。

    spark.sql("show tables").show();
    
  6. 在您创建的表格中显示表格行。

    desc myTable;
    

运行这些命令会显示类似于以下内容的输出:

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

后续步骤