У меня есть RDD, что имеет сигнатуруSpark: Как написать org.apache.spark.rdd.RDD [java.io.ByteArrayOutputStream]
org.apache.spark.rdd.RDD[java.io.ByteArrayOutputStream]
В этом РДУ, каждая строка имеет свой собственный раздел.
Этот ByteArrayOutputStream представляет собой zip-выход. Я применяю некоторую обработку данных в каждом разделе, и я хочу экспортировать обработанные данные из каждого раздела в виде одного zip-файла. Каков наилучший способ экспортировать каждую строку в конечном RDD как один файл в строке на hdf?
Если вам интересно узнать, как я попал в такой Rdd.
val npyData = transformedTopData.select("tokenIDF", "topLevelId").rdd.repartition(2).mapPartitions(x => {
val vectors = for {
row <- x
} yield {
row.getAs[Vector](0)
}
Seq(ml2npyCSR(vectors.toSeq).zipOut)
}.iterator)
EDIT: Граф отлично работает
scala> npyData.count()
res9: Long = 2
вы пробовали 'count' его? Я сомневаюсь, что RDD будет работать. –
@ JacekLaskowski Count отлично работает. обновленный результат, о котором идет речь – vumaasha
Что такое 'ml2npyCSR.zipOut'? –