当使用下面的命令将数据帧保存在 HDFS 上时,我尝试在数据帧上应用分桶。
df.write
.format("parquet")
.bucketBy(200,"groupIdProjection")
.sortBy("groupIdProjection")
.option("header", true)
.mode(SaveMode.Append)
.option("path", conf.assiette.work.prep.transitionMatrixObligor)
.save()
运行我的作业时,我收到此错误消息:
“save”目前不支持bucketBy和sortBy
请注意,我正在使用 3.3.0 作为 Spark 版本,使用 2.12.12 作为 scala 版本 并且集群运行在AWS上
将
save
替换为 saveAsTable
,因为分桶和排序仅适用于持久表。
df.write
.format("parquet")
.bucketBy(200,"groupIdProjection")
.sortBy("groupIdProjection")
.option("header", true)
.mode(SaveMode.Append)
.option("path", conf.assiette.work.prep.transitionMatrixObligor)
.saveAsTable("bucketDemoTable")