使用任何标准输出格式(例如Parquet)时,都不能更改“ part”前缀。请参阅ParquetRelation
源代码中的以下片段:
private val recordWriter: RecordWriter[Void, InternalRow] = { val outputFormat = { new ParquetOutputFormat[InternalRow]() { // ... override def getDefaultWorkFile(context: TaskAttemptContext, extension: String): Path = { // .. // prefix is hard-pred here: new Path(path, f"part-r-$split%05d-$uniqueWriteJobId$bucketString$extension") } }}
如果确实必须控制零件文件名,则可能必须实现自定义FileOutputFormat并使用Spark的其中一个接受FileOutputFormat类的保存方法(例如saveAsHadoopFile)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)