Не могу использовать функции сортировки из pyspark.sql.functions для анонимного столбца - PullRequest
1 голос
/ 21 мая 2019

Я работаю над проектом, использующим pyspark. Тем не менее, я сталкиваюсь с ошибками py4j при использовании определенных функций. А именно: asc, desc и все их варианты. Чтобы воспроизвести, запустите SaprkSession, затем выполните следующее:

from pyspark import functions as funcs

funcs.asc(funcs.col("foo"))

Я получаю следующую ошибку:

Py4JError: An error occurred while calling z:org.apache.spark.sql.functions.asc. Trace:
py4j.Py4JException: Method asc([class org.apache.spark.sql.Column]) does not exist
    at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:318)
    at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:339)
    at py4j.Gateway.invoke(Gateway.java:276)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.GatewayConnection.run(GatewayConnection.java:238)
    at java.base/java.lang.Thread.run(Thread.java:834)

Следующее работает просто отлично, однако: funcs.col("foo").asc(). Я полагаю, это ошибка? Или я просто неправильно использую модуль functions? Другие функции (sin, min, stddev и т. Д.) Работают просто отлично. Функции сортировки кажутся единственными проблемными.

Информация о версии:

  • MacOS: 10.13.6
  • Python: 3.7.3
  • pyspark: 2.4.3
  • py4j: 0.10.7

Обновление: функции сортировки также не работают с явными столбцами кадра данных:

import pandas as pd

df = spark.createDataFrame(
    pd.DataFrame({
        "a": [1, 2, 3],
        "b": ["a", "b", "c"]
    })
)
funcs.asc(df["a"])

Это вызывает ту же ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...