【发布时间】:2026-01-08 11:45:01
【问题描述】:
我正在尝试从 csv 文件创建 spark 数据框,但是我不想在数据框中包含来自原始数据的特定列。这在设置架构或读取 csv 文件时是否可行?
【问题讨论】:
标签: csv pyspark apache-spark-sql hdfs
我正在尝试从 csv 文件创建 spark 数据框,但是我不想在数据框中包含来自原始数据的特定列。这在设置架构或读取 csv 文件时是否可行?
【问题讨论】:
标签: csv pyspark apache-spark-sql hdfs
@Manu Valdés 的drop 答案是最好的方法,这里是pyspark 的代码
假设我们有一个包含 3 列的 file.csv:
col1;col2;col3
val1;val2;val3
val4;val5;val6
现在使用 sqlContext 读取 csv 文件:
df = sqlContext.read.format('csv').options(header='true', delimiter=';').load('/FileStore/file.csv')
df.printSchema()
root
|-- col1: string (nullable = true)
|-- col2: string (nullable = true)
|-- col3: string (nullable = true)
删除col2:
df2 = df.drop('col2')
df2.printSchema()
root
|-- col1: string (nullable = true)
|-- col3: string (nullable = true)
【讨论】:
drop('col2')或select('col1', 'col3')
DataFrame 方法drop 返回一个没有指定列的DataFrame。
【讨论】: