开始使用免费开始使用

探索 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()
编辑并运行代码