2017-07-22 3 views
-1

Ich habe eine RDD, die Objekttypen meiner benutzerdefinierten Klasse OmnitureData enthält. OmnitureData-Daten enthalten 1000 von Datenvariablen. Ich möchte die Daten in S3 schreiben.RDD [OmnitureData] in S3 schreiben

data: RDD[OmnitureData] 
data.saveAsTextFile(path) 

In S3 Ich sehe Daten wie:

[email protected] 
[email protected] 
[email protected] 
[email protected] 
[email protected] 

Wie kann ich speichern sie in einer Weise, dass ich die aktuellen Daten von OmnitureData Mitglieder sehen können?

Antwort

0

Die Lösung gefunden.

def writeOnS3(data: RDD[OmnitureFeedOutputEntry], path: String)= { 
try { 
    val finalData: RDD[String] = data.map(x => { 
    implicit val formats = Serialization.formats(NoTypeHints) 
    write(x)}) 
    finalData.saveAsTextFile(path) 
    logger.info("task=writeOnS3, status=success") 
} catch { 
    case e: Exception => logger.error("task=writeOnS3, status=failure") 
} 

}