如何在PySpark程序中打印变量或数据框以进行控制台?

我是Spark的新手,试图像使用Pandas进行数据分析一样使用它。

在熊猫中,要查看变量,我将编写以下内容:

import pandas as pd

df = pd.DataFrame({a:[1,2,3],b:[4,5,6]})
print(df.head())

在Spark中,我的打印语句未打印到终端上。根据David的comment on this answer,将打印语句发送到stdout/stderr,并且有一种方法可以使用Yarn进行获取,但是他没有说如何。我无法通过谷歌搜索“如何捕获标准输出火花”找到任何有意义的东西。

我想要的是一种查看数据中的一些信息以对数据分析进行故障排除的方法。 “添加该列是否起作用?”诸如此类的事情。我也欢迎对大型数据集进行故障排除的新方法。

jiangjunhero 回答:如何在PySpark程序中打印变量或数据框以进行控制台?

是的,您可以使用不同的方法来打印数据框:

>>> l = [[1,1],[2,2],[3,3],[4,4],[5,5]]

>>> spark.createDataFrame(l,["a",'b']).show()
+---+---+
|  a|  b|
+---+---+
|  1|  1|
|  2|  2|
|  3|  3|
|  4|  4|
|  5|  5|
+---+---+

>>> print(spark.createDataFrame(l,['a','b']).limit(5).toPandas())
   a  b
0  1  1
1  2  2
2  3  3
3  4  4
4  5  5

df.show()将打印前20行,但是对于n行,您可以向其中传递一个数字。

您还可以使用df.limit(n).toPandas()来获得熊猫风格的df.head()

本文链接:https://www.f2er.com/3154401.html

大家都在问