show()
的源代码并观察它调用了self._jdf.showString()
。答案取决于你使用的spark版本,因为show()
的参数数量随时间变化而改变。Spark 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))
从版本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)))
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))
print(spark.version)
)?你必须使用特定于你的Spark版本的函数。 - pault