探索資料管線的來源資料
建立資料管線的常見第一步是了解管線的來源資料。 在此步驟中,您會在筆記本中執行 Databricks 公用程式和 PySpark 命令,以檢查來源資料和成品。
若要深入了解探勘資料分析,請參閱Azure Databricks 上的探索性資料分析:工具和技術。
影片:Databricks 筆記本簡介
如需 Databricks 筆記本簡介,請觀看這段影片:
建立資料探索筆記本
在側邊欄中,按下 [新增],然後從功能表中選取 [筆記本]。 筆記本會以您可以取代的預設名稱開啟。
輸入筆記本的名稱,例如
Explore songs data
。 預設情況:- Python 是選取的語言。
- 筆記本會附加至您所使用的最後一個叢集。 在此情況下,您在步驟 1:建立叢集中建立的叢集。
若要檢視包含資料集的目錄內容,請在筆記本的第一個儲存格中輸入下列內容,按下 ,然後選取 [執行儲存格]。
%fs ls "/databricks-datasets/songs"
path NAME size modificationTime dbfs:/databricks-datasets/songs/README.md README.md 1719 1454620183000 dbfs:/databricks-datasets/songs/data-001/ data-001/ 0 1672791237846 dbfs:/databricks-datasets/songs/data-002/ data-002/ 0 1672791237846
探索資料
讀我檔案包含資料集的相關資訊,包括資料結構描述的描述。 擷取資料時,會在下一個步驟中使用結構描述資訊。 若要檢視讀我檔案的內容,請按下儲存格動作功能表中的 ,選取 [新增下方儲存格],在新的存儲格中輸入下列內容,按下 ,然後選取 [執行儲存格]。
%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 ...
此範例中使用的記錄位於
/databricks-datasets/songs/data-001/
目錄中。 若要檢視目錄的內容,請按下儲存格動作功能表中的 ,選取 [新增下方儲存格],在新的存儲格中輸入下列內容,按下 ,然後選取 [執行儲存格]。%fs ls "/databricks-datasets/songs/data-001"
path NAME size modificationTime dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000 dbfs:/databricks-datasets/songs/data-001/part-00000 part-00000 52837 1454547464000 dbfs:/databricks-datasets/songs/data-001/part-00001 part-00001 52469 1454547465000 由於讀我檔案與檔案名稱未指出檔案格式,因此您可以檢視記錄的範例,以進一步了解每個記錄的內容和格式。 若要讀取並顯示其中一個資料檔案的前十筆記錄,請按下儲存格動作功能表中的 ,選取 [新增下方儲存格],在新的存儲格中輸入下列內容,按下 ,然後選取 [執行儲存格]。
%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) 格式。
- 某些欄位遺失或無效。
- 記錄並不包含標頭。 相反地,標頭會在相同目錄中的個別檔案中儲存。
若要進一步探索和分析資料,請使用這些觀察結果將 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
。 下一個步驟中未經處理資料的擷取示範如何在載入資料時強加有效結構描述的範例。