Нужны ли преобразования цепочек в кодах pyspark? - PullRequest
0 голосов
/ 24 января 2020

Нужны ли преобразования цепочки в кодах pyspark с точки зрения эффективности? Например, есть ли разница в эффективности между этими двумя кодами?

def transformer(df):
  df = (df
        #transformations
       )
  return df

df = transformer(df)

и

from pyspark.sql.dataframe import DataFrame

def transform(self, f):
    return f(self)

DataFrame.transform = transform

def transformer(df):
  return (df
          #transformations
         )

df = df.transformDF(transformer)

Спасибо.

1 Ответ

0 голосов
/ 24 января 2020

Нет абсолютно никакой разницы в производительности. transformations в Spark являются ленивыми, они не оцениваются, пока не будет взято action (например, сохранить, собрать).

По существу, цепочка помогает писать краткий код. Это также помогает в модульности преобразований. Производительность зависит от окончательного преобразования, на котором выполняется действие.

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