开始使用免费开始使用

加载 SMS 垃圾短信数据

您已经看到可以直接从数据推断数据类型。有时更方便的是直接控制列类型。您可以通过定义显式模式来实现。

文件 sms.csv 包含一组 SMS 短信,这些短信被分类为"spam"(垃圾)或"ham"(正常)。这些数据改编自 UCI Machine Learning Repository。共有 5,574 条短信,其中 747 条被标注为垃圾短信。

关于 CSV 格式的说明:

  • 没有表头记录,且
  • 字段以分号分隔(这并非默认分隔符)。

数据字典:

  • id —— 记录标识符
  • text —— 短信内容
  • label —— 垃圾或正常(整数;0 = 正常,1 = 垃圾)

本练习是课程的一部分

使用 PySpark 进行机器学习

查看课程

练习说明

  • 指定数据模式,给出列名("id""text""label")及其列类型。
  • 从名为 "sms.csv" 的分隔文件中读取数据。
  • 打印结果 DataFrame 的模式。

交互式实操练习

通过完成这段示例代码来试试这个练习。

from pyspark.sql.types import StructType, StructField, IntegerType, StringType

# Specify column names and types
schema = StructType([
    StructField("____", IntegerType()),
    ____("____", ____()),
    ____("____", ____())
])

# Load data from a delimited file
sms = spark.read.csv(____, sep=____, header=____, ____=____)

# Print schema of DataFrame
sms.____()
编辑并运行代码