2017-11-02 1 views
0

나는, 각 메시지를 읽고 그것을 인코딩 및 텍스트 파일로 저장하는 스파크 스크립트가 나는 각 메시지의 내용을 읽고 메시지 내에서 특정 필드를 기준으로 메시지를 정렬하고 저장하려는스칼라 : saveAsTextFile 전에 메시지를 정렬하려면 어떻게해야합니까?

sparkContext.sequenceFile(inputDirectory, classOf[IntWritable], classOf[DataOutputValue]).map{ case (_, message) => getMessage(message) }.map(m => (Base64.getEncoder().encodeToString(m.toByteArray))).saveAsTextFile(outputDirectory) 

파일로. 예 : 각 메시지의 필드는 time이며 정렬 된 시간을 기준으로 메일을 저장하려고합니다. 지금 저장된 메시지는 정렬되지 않습니다. 어떻게 할 수 있습니까?

당신은 내가 대답을 희망

sparkContext.sequenceFile(inputDirectory, classOf[IntWritable], classOf[DataOutputValue]).map{ case (_, message) => getMessage(message) }.map(m => (Base64.getEncoder().encodeToString(m.toByteArray))).sortBy(m => m, true).saveAsTextFile(outputDirectory) 

아래로 sortBy 기능을 사용할 수 있습니다

답변

0

도움이됩니다

관련 문제