探索 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()