В Spark вы можете использовать определенную пользователем функцию для mapPartitions
. Теперь мой вопрос: как я могу передать ему аргумент. Например, на данный момент у меня есть что-то вроде этого, которое вызывается с помощью rdd.mapPartitions(userdefinedFunc)
.Как передать аргумент пользовательской функции для mapPartitions в Spark?
def userdefinedFunc(iter: Iterator[(Long, Array[SAMRecord])]) : Iterator[(Long, Long)] =
{
val res = scala.collection.mutable.ArrayBuffer.empty[(Long, Long)]
// Code here
res.iterator
}
Однако, я также хочу постоянной в качестве аргумента в этой пользовательской функции, таким образом, что, например, он выглядит следующим образом.
def userdefinedFunc(iter: Iterator[(Long, Array[SAMRecord])], someConstant: Long) :
Iterator[(Long, Long)] =
{
val res = scala.collection.mutable.ArrayBuffer.empty[(Long, Long)]
// Code here
res.iterator
}
Теперь, как я называю эту функцию с mapPartitions
. Я получаю сообщение об ошибке, если я просто использую rdd.mapPartitions(userdefinedFunc(someConstant))
.