開始使用免費開始

探索 Spark 資料型別

你先前(在第 1 章)已經看過用來列出 Spark 中 sparklyr 可見之 DataFrame 的 src_tbls()。你也看過在 R 端用來探索 tibble 欄位的 glimpse()

sparklyr 提供了名為 sdf_schema() 的函式,可在 R 端探索 tibble 的欄位。呼叫很簡單;比較麻煩的是處理它的回傳值。

sdf_schema(a_tibble)

回傳值是一個串列,每個元素本身也是含有兩個元素的串列,分別是各欄位的名稱與資料型別。這個練習提供了一段資料轉換,讓你更容易檢視這些型別。

以下是 R 資料型別對應到 Spark 資料型別的比較。其他型別目前不受 sparklyr 支援。

R type Spark type
logical BooleanType
numeric DoubleType
integer IntegerType
character StringType
list ArrayType

本練習屬於課程

使用 R 的 sparklyr:Spark 入門

檢視課程

練習說明

已為你建立名為 spark_conn 的 Spark 連線。連到 Spark 中曲目中繼資料的 tibble 已預先定義為 track_metadata_tbl

  • 呼叫 sdf_schema() 以取得曲目中繼資料的綱要(schema)。
  • schema 執行轉換程式碼,將結果以更易讀的 tibble 格式顯示。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# track_metadata_tbl has been pre-defined
track_metadata_tbl

# Get the schema
(schema <- ___(___))

# Transform the schema
schema %>%
  lapply(function(x) do.call(data_frame, x)) %>%
  bind_rows()
編輯並執行程式碼