我有一个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"));
但是,从长列表中选择列是一项繁琐的工作,是否有解决方法。
答案 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")