從 Spark 收集資料回到 R
在第 1 章的「Exploring the structure of tibbles」練習中,你看到 tibble 並不會儲存資料的副本。相反地,資料會留在 Spark,而 tibble 只會記錄它想從 Spark 取回哪些內容的細節。
有許多理由會讓你想把資料從 Spark 移到 R。你已經看過在列印時,部分資料會從 Spark 傳到 R。當你想要繪圖,或想使用 Spark 尚未提供的建模技術時,也需要先把資料收集回來。(畢竟,R 擁有所有程式語言中最齊全的模型選擇。)
若要收集資料——也就是把資料從 Spark 移到 R——請呼叫 collect()。
本練習屬於課程
使用 R 的 sparklyr:Spark 入門
練習說明
我們已經為你建立好名為 spark_conn 的 Spark 連線。連結到儲存在 Spark 中之曲目中繼資料的 tibble 也已預先定義為 track_metadata_tbl。
- 篩選
track_metadata_tbl中artist_familiarity大於 0.9 的列,並將結果指派給results。 - 列印
results的類別,並注意這是一個用於遠端資料的tbl_lazy。 - 收集結果,並將其指派給
collected。 - 列印
collected的類別,並注意這是一個用於本機資料的tbl_df。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# track_metadata_tbl has been pre-defined
track_metadata_tbl
results <- track_metadata_tbl %>%
# Filter where artist familiarity is greater than 0.9
___
# Examine the class of the results
___
# Collect your results
collected <- results %>%
___
# Examine the class of the collected results
___