从数据框spark

时间:2017-01-20 12:02:01

标签: java apache-spark dataframe spark-dataframe

我有一个Spark数据帧,其列数非常滞后我想从中删除两列以获取新的数据帧

如果列数较少,我可以使用API​​中的select方法

pcomments =pcomments.select(pcomments.col("post_id"),pcomments.col("comment_id"),pcomments.col("comment_message"),pcomments.col("user_name"),pcomments.col("comment_createdtime"));

但是,从长列表中选择列是一项繁琐的工作,是否有解决方法。

2 个答案:

答案 0 :(得分:28)

使用 drop 方法和 withColumnRenamed 方法。

示例:

    val initialDf= ....

    val dfAfterDrop=initialDf.drop("column1").drop("coumn2")

    val dfAfterColRename= dfAfterDrop.withColumnRenamed("oldColumnName","new ColumnName")

答案 1 :(得分:6)

尝试一下:

val initialDf = ...

val dfAfterDropCols = initialDf.drop("column1", "coumn2")