我是Spark的新手,试着像使用Pandas进行数据分析一样使用它。
在pandas中,要查看变量,我将编写以下代码:
import pandas as pd
df = pd.DataFrame({a:[1,2,3],b:[4,5,6]})
print(df.head())
在Spark中,我的print语句不会打印到终端。基于David的comment on this answer,打印语句被发送到stdout/stderr
,有一种方法可以通过Yarn获得它,但他没有说明如何获取。我在谷歌上搜索“如何捕获stdout spark”找不到有意义的东西。
我想要的是一种查看部分数据的方法来解决我的数据分析问题。“添加该列有效吗?”诸如此类的事情。我也欢迎新的故障排除方法,这些方法更适合于大型数据集。
发布于 2019-11-06 15:08:43
可以,您可以使用不同的方式打印数据帧:
>>> 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()
获取pandas样式的df.head()
https://stackoverflow.com/questions/58724686
复制相似问题