Вы можете создать вспомогательную функцию, используя тот же подход, который показан в сообщении, которое вы связали Захват результата объяснения () в pyspark .Просто изучите исходный код для show()
и обратите внимание, что он вызывает self._jdf.showString()
.
Ответ зависит от того, какую версию spark вы используете, в качестве количества аргументов show()
со временем изменилось.
Spark версии 2.3 и выше
В версии 2.3 был добавлен аргумент vertical
.
def getShowString(df, n=20, truncate=True, vertical=False):
if isinstance(truncate, bool) and truncate:
return(df._jdf.showString(n, 20, vertical))
else:
return(df._jdf.showString(n, int(truncate), vertical))
Spark Версии 1.5 - 2.2
Начиная с версии 1.5, был добавлен аргумент truncate
.
def getShowString(df, n=20, truncate=True):
if isinstance(truncate, bool) and truncate:
return(df._jdf.showString(n, 20))
else:
return(df._jdf.showString(n, int(truncate)))
Версии Spark от 1.3 до 1.4
Функция show
впервые была представлена в версии 1.3.
def getShowString(df, n=20):
return(df._jdf.showString(n))
Теперь используйте вспомогательную функцию следующим образом:
x = getShowString(df) # default arguments
print(x)
#+----+-------+
#| age| name|
#+----+-------+
#|null|Michael|
#| 30| Andy|
#| 19| Justin|
#+----+-------+
Или в вашем случае:
logger.info(getShowString(df))