練習 - 在 HDInsight Spark 叢集上執行查詢

已完成

在本練習中,您將了解如何從 csv 檔案建立資料框架,以及如何在 Azure HDInsight 中對 Apache Spark 叢集執行互動式 Spark SQL 查詢。 在 Spark 中,資料框架是組織成具名資料行的分散式資料集合。 資料框架在概念上等同於關聯式資料庫中的資料表或 R/Python 中的資料框架。

在本教學課程中,您會了解如何:

  • 從 csv 檔案建立資料框架
  • 在資料框架上執行查詢

從 csv 檔案建立資料框架

下列範例 csv 檔案包含某個建築物的溫度資訊,該資訊儲存在 Spark 叢集的檔案系統上。

A sample dataset

  1. 將以下程式碼貼入 Jupyter Notebook 的空白資料格,然後按 SHIFT + ENTER 以執行此程式碼。 此程式碼會匯入此案例所需的類型

    from pyspark.sql import *
    
    from pyspark.sql. types import *
    
  2. 在 Jupyter 中執行互動式查詢時,網頁瀏覽器視窗或索引標籤標題都會顯示 [(忙碌)] 狀態,以及筆記本的標題。 您也會在右上角的 PySpark 文字旁看到一個實心圓。 作業完成後,實心圓將變成空心圓。

    Running Python in Jupyter

  3. 執行下列程式碼以建立資料框架和暫存資料表 (hvac)。

    # Create a dataframe and table from sample data
    
    csvFile = spark.read.csv ('/HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv', header=True, inferSchema=True)
    
    csvFile.write. saveAsTable("hvac")
    

在資料框架上執行查詢

建立資料表之後,您可以對資料執行互動式查詢。

  1. 在筆記本的空白資料格中執行下列程式碼:

    %%sql
    
    SELECT buildingID, (targettemp - actualtemp) AS temp_diff, date FROM hvac WHERE date = \"6/1/13\"
    

    此時會顯示下列表格式輸出。

    Dataset results in Jupyter

    您也可以查看其他視覺效果中的結果。 若要查看相同輸出的區域圖表,請選取 [區域],然後設定其他值,如下所示。

    Dataset visualization in Jupyter

  2. 從筆記本功能表列,瀏覽至 [檔案] > [儲存與檢查點]

  3. 關閉筆記本以釋出叢集資源:從筆記本功能表列,瀏覽至 [檔案] > [關閉並終止]