探索 tibbles 的結構
當你嘗試列印描述儲存在 Spark 中資料的 tibble 時,系統需要做些「魔法」,因為 tibble 本身不保留資料的副本。這個魔法是:print 方法會使用你的 Spark 連線,將部分內容複製回 R,並顯示這些值,就像資料是本機儲存的一樣。正如你在本章前面所看到的,複製資料是很「慢」的操作,因此預設只會列印 10 列,且僅顯示螢幕放得下的欄數。
你可以使用 print() 的引數 n 來調整列印的列數。也可以用 width 引數來調整顯示內容的寬度,單位是字元數(不是欄數)。一個實用的小技巧是設定 width = Inf,即可列印所有欄。
str() 函式通常用來顯示變數的結構。對 data.frame 而言,它會給出每個欄位的型別與前幾個值的摘要。不過對於具有遠端資料來源的 tibbles,str() 並不知道如何擷取資料。這表示如果你對包含 Spark 資料的 tibble 呼叫 str(),你會看到的是一個清單,裡面有 Spark 連線物件與其他一些零碎資訊。
如果你想查看該 tibble 所指涉資料集中,每個欄位的大致內容摘要,你需要改用 glimpse()。請注意,對於像 Spark 叢集這類的遠端資料,列數其實並不可信!在這種情況下,glimpse() 會無法正確回報列數。
本練習屬於課程