pyspark 如何像在 scala .drop 中一样删除 rdd 列

Posted

技术标签:

【中文标题】pyspark 如何像在 scala .drop 中一样删除 rdd 列【英文标题】:pyspark how to drop rdd column like in scala .drop 【发布时间】:2016-12-29 21:47:56 【问题描述】:

文件video.csv如下

2482cal-2792-48da,Action,Comedy 
099acca-8888-48ca,Action,Comedy

在 Spark Scala 中,可以使用 .drop(1) 删除 RDD 列 1 以删除所有行 rdd 列 1,例如 482cal-2792-48da099acca-8888-48ca

我想知道如何在 PySpark 中的 PySpark rdd 中执行此操作,如下面第 2 行代码所示

火花斯卡拉

val records = sc.textFile("file:///home/videos.csv")
val words = records.flatMap(record => record.split(",").drop(1))**

PySpark

videos_rdd = sc.textFile("/user/spark_dataset/datastax_ds320/videos.csv", 4)
videos_rdd_flat = videos_rdd.flatMap(lambda t:t.split(","))**

谢谢

【问题讨论】:

【参考方案1】:

可以使用拼接:

videos_rdd.flatMap(lambda t: t.split(",")[1:])

【讨论】:

以上是关于pyspark 如何像在 scala .drop 中一样删除 rdd 列的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Pyspark 中使用 Scala 函数?

如何在 Databricks 的 PySpark 中使用在 Scala 中创建的 DataFrame

如何在 AWS EMR 中一起添加 2 个(pyspark、scala)步骤?

如何在 Scala Spark 项目中使用 PySpark UDF?

如何使用 Python 或 Pyspark 或 scala 在数据块中获取笔记本的作业运行结果日志

Spark:如何在 pyspark 或 scala spark 中分解数据并添加列名?