在spark scala中保存Dataframe之前,如何在spark中按列划分并删除同一列

vxqlmq5t  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(477)

假设我们有一个列为col1,col2,col3,col4的Dataframe。现在,在保存df时,我想使用col2进行分区,而最终保存的df不应该使用col2。所以最后的df应该是col1,col3,col4。关于如何实现这一点有什么建议吗?

newdf.drop("Status").write.mode("overwrite").partitionBy("Status").csv("C:/Users/Documents/Test")
6g8kf2rb

6g8kf2rb1#

drop 将删除状态列&您的代码将失败,错误如下 partitionBy 作为 status 列已删除。 org.apache.spark.sql.AnalysisException: Partition columnstatusnot found in schema [...] 检查以下代码,它将不包括 status 数据中的值。

newdf
.write
.mode("overwrite")
.partitionBy("Status")
.csv("C:/Users/Documents/Test")

相关问题