java_method(class_name, method_name, *args)
Описание
Функция java_method()
вызывает метод экземпляра Java класса.
Параметры
class_name
: String - полное имя Java классаmethod_name
: String - имя вызываемого метода*args
: Column - аргументы метода (первый аргумент - экземпляр класса)
Возвращаемое значение
Зависит от типа возвращаемого значения вызываемого метода
Пример использования
from pyspark.sql.functions import java_method
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("java_method_example").getOrCreate()
# Создаем DataFrame с данными
data = [("Hello",), ("World",), ("Spark",)]
df = spark.createDataFrame(data, ["text"])
# Вызываем метод экземпляра Java класса
result = df.select(
"text",
java_method("java.lang.String", "toUpperCase", "text").alias("upper")
).show()
# Результат:
# +-----+-----+
# |text |upper|
# +-----+-----+
# |Hello|HELLO|
# |World|WORLD|
# |Spark|SPARK|
# +-----+-----+
Примечания
- Класс должен быть доступен в classpath
- Первый аргумент должен быть экземпляром класса
- Для вызова статических методов используйте
reflect()
- NULL значения в аргументах передаются как NULL