Skip to content

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