将DataFrame show()的结果保存到pyspark中的字符串
-
您可以使用链接捕获pyspark中的explain()的结果中所示的相同方法来构建辅助函数。只需检查源代码
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))