搭配 Dataproc Metastore 使用 Spark SQL

本頁面將說明如何搭配使用 Spark SQL 和 Dataproc Metastore 服務。在這個範例中,您會在 Dataproc 叢集中啟動 Spark SQL 工作階段,並執行一些範例指令來建立資料庫和資料表。

事前準備

連線至 Spark SQL

如要開始使用 Spark SQL,請使用 SSH 連線至與 Dataproc Metastore 服務相關聯的 Dataproc 叢集。透過 SSH 連線至叢集後,您可以執行 Spark 指令來管理中繼資料。

如何連線至 Spark SQL

  1. 前往 Google Cloud 控制台的「VM Instances」(VM 執行個體) 頁面
  2. 在虛擬機器執行個體清單中,找到您要建立連線的 Dataproc VM 執行個體,然後在該列中按一下 [SSH]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 殼層。

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

後續步驟