Зарегистрируйте UDF в SqlContext из Scala для использования в PySpark

Можно ли зарегистрировать UDF (или функцию), написанную на Scala, для использования в PySpark? Например.:

val mytable = sc.parallelize(1 to 2).toDF("spam")
mytable.registerTempTable("mytable")
def addOne(m: Integer): Integer = m + 1
// Spam: 1, 2

В Scala теперь возможно следующее:

val UDFaddOne = sqlContext.udf.register("UDFaddOne", addOne _)
val mybiggertable = mytable.withColumn("moreSpam", UDFaddOne(mytable("spam")))
// Spam: 1, 2
// moreSpam: 2, 3

Я хотел бы использовать "UDFaddOne" в PySpark, как

%pyspark

mytable = sqlContext.table("mytable")
UDFaddOne = sqlContext.udf("UDFaddOne") # does not work
mybiggertable = mytable.withColumn("+1", UDFaddOne(mytable("spam"))) # does not work

Справочная информация: Мы - команда разработчиков, некоторые программируют на Scala, а некоторые на Python и хотели бы поделиться уже написанными функциями. Также было бы возможно сохранить это в библиотеке и импортировать это.

Ответы на вопрос(2)

Ваш ответ на вопрос