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

后续步骤