探索數據管線的源數據

建立數據管線的常見第一個步驟是了解管線的源數據。 在此步驟中,您會在筆記本中執行 Databricks Utilities 和 PySpark 命令,以檢查源數據和成品。

若要深入瞭解探勘數據分析,請參閱 探索 Azure Databricks 上的數據分析:工具和技術

影片:Databricks 筆記本簡介

如需 Databricks 筆記本簡介,請觀看這段影片:

建立數據探索筆記本

  1. 在提要欄中,按兩下 新增圖示[新增 ],然後從功能表中選取 [筆記本 ]。 筆記本會以您可以取代的預設名稱開啟。

  2. 輸入筆記本名稱,例如 Explore songs data。 預設情況:

    • Python 是選取的語言。
    • 筆記本會附加至您所使用的最後一個叢集。 在此情況下,您在步驟 1:建立叢集中 建立的叢集
  3. 若要檢視包含數據集的目錄內容,請在筆記本的第一個數據格中輸入下列內容,按兩下列內容,按兩下列內容,按兩下列內容,按一下列內容,按兩下列內容,按兩下列 執行功能表內容,然後選取[ 執行儲存格]。

    %fs ls "/databricks-datasets/songs/data-001"
    
    path NAME size modificationTime
    1 dbfs:/databricks-datasets/songs/README.md README.md 1719 1454620183000
    2 dbfs:/databricks-datasets/songs/data-001/ data-001/ 0 1672791237846
    3 dbfs:/databricks-datasets/songs/data-002/ data-002/ 0 1672791237846

探索資料

  1. 自述檔包含數據集的相關信息,包括數據架構的描述。 擷取數據時,會在下一個步驟中使用架構資訊。 若要檢視自述檔的內容,請單擊向下插入號單元格動作功能表中的 [新增儲存格下方],在新單元格中輸入下列內容,單擊執行功能表 ,然後選取 [執行儲存格]。

    %fs head --maxBytes=10000 "/databricks-datasets/songs/README.md"
    
    Sample of Million Song Dataset
    ===============================
    
    ## Source
    This data is a small subset of the [Million Song Dataset](http://labrosa.ee.columbia.edu/millionsong/).
    The original data was contributed by The Echo Nest.
    Prepared by T. Bertin-Mahieux <tb2332 '@' columbia.edu>
    
    ## Attribute Information
    - artist_id:string
    - artist_latitude:double
    - artist_longitude:double
    - artist_location:string
    - artist_name:string
    - duration:double
    - end_of_fade_in:double
    - key:int
    - key_confidence:double
    - loudness:double
    - release:string
    - song_hotnes:double
    - song_id:string
    - start_of_fade_out:double
    - tempo:double
    - time_signature:double
    - time_signature_confidence:double
    - title:string
    - year:double
    - partial_sequence:int
    ...
    
  2. 此範例中使用的記錄位於 /databricks-datasets/songs/data-001/ 目錄中。 若要檢視此目錄的內容,請單擊向下插入號單元格動作功能表中的 [新增儲存格下方],在新單元格中輸入下列內容,單擊執行功能表 ,然後選取 [執行儲存格]。

    %fs ls "/databricks-datasets/songs/data-001"
    
    path NAME size modificationTime
    1 dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000
    2 dbfs:/databricks-datasets/songs/data-001/part-00000 part-00000 52837 1454547464000
    3 dbfs:/databricks-datasets/songs/data-001/part-00001 part-00001 52469 1454547465000
  3. 由於自述檔與檔名未指出檔格式,因此您可以檢視記錄的範例,以進一步瞭解每個記錄的內容和格式。 若要從其中一個數據檔讀取並顯示前十筆記錄,請單擊向下插入號數據格動作功能表中的 [新增單元格],在新的數據格中輸入下列內容,單擊執行功能表 ,然後選取 [執行單元格]。

    %fs head --maxBytes=10000 "/databricks-datasets/songs/data-001/part-00000"
    
     AR81V6H1187FB48872  nan     nan             Earl Sixteen    213.7073        0.0     11      0.419   -12.106 Soldier of Jah Army     nan     SOVNZSZ12AB018A9B8      208.289 125.882 1       0.0     Rastaman        2003    --
     ARVVZQP11E2835DBCB  nan     nan             Wavves  133.25016       0.0     0       0.282   0.596   Wavvves 0.471578247701  SOJTQHQ12A8C143C5F      128.116 89.519  1       0.0     I Want To See You (And Go To The Movies)        2009    --
     ARFG9M11187FB3BBCB  nan     nan     Nashua USA      C-Side  247.32689       0.0     9       0.612   -4.896  Santa Festival Compilation 2008 vol.1   nan     SOAJSQL12AB0180501      242.196 171.278 5       1.0     Loose on the Dancefloor 0       225261
     ...
    

    您可以從檢視記錄的範例來觀察有關數據的一些事項。 您稍後會在處理資料時使用這些觀察:

    • 記錄不包含標頭。 相反地,標頭會儲存在相同目錄中的個別檔案中。
      • 檔案會以製表元分隔值 (TSV) 格式顯示。
      • 某些欄位遺失或無效。
  4. 若要進一步探索和分析數據,請使用這些觀察將 TSV 格式化的歌曲數據 載入 PySpark DataFrame。 若要這樣做,請單擊向下插入號單元格動作功能表中的 [新增儲存格下方],在新儲存格中輸入下列程式代碼,然後單擊 [執行功能表>執行儲存格]。

    df = spark.read.format('csv').option("sep", "\t").load('dbfs:/databricks-datasets/songs/data-001/part-00000')
    df.display()
    

    因為數據檔遺漏標頭,所以數據行名稱會顯示為 _c0_c1等等。 不論實際資料類型為何,每個資料行都會解譯為 string 。 下一個步驟原始數據的擷取示範如何在載入數據時強加有效架構的範例。

    從原始歌曲數據建立的DataFrame