从 Spark 回收数据到本地
在第 1 章的"探索 tibble 的结构"练习中,您已经看到 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
___