想要保存的rdd为(key,value)格式,希望将Key为文件名在HDFS中保存,并且文件中不存Key值。
重写MultipleTextOutputFormat方法即可:
class PairRDDMultipleTextOutputFormat extends MultipleTextOutputFormat[Any, Any] {
//1)文件名:根据key和value自定义输出文件名。 name:对应的part-0001文件名
override def generateFileNameForKeyValue(key: Any, value: Any, name: String): String ={
val fileName=key.asInstanceOf[String]
fileName
}
//2)文件内容:默认同时输出key和value。这里指定不输出key。
override def generateActualKey(key: Any, value: Any): String = {
null
}
}