spark中的dataframe.show()和dataframe.take()有什么区别?要提高性能,我们需要增加什么?

时间:2018-12-21 12:41:38

标签: apache-spark apache-spark-sql

我正在使用数据帧从镶木地板文件中读取数据,并创建一个临时视图,并在临时视图的顶部运行SQL查询。

spark.read.parquet("filename.parquet").createOrReplaceTempView("temptable")

val df = spark.sql("SELECT * FROM temptable")

要检查df的结果,我正在使用df.show(),但是执行起来需要更多时间,如果使用df.take(10),我看不出任何区别

take()show()之间有什么区别。我应该使用哪种方法来获得更好的性能来检查结果

1 个答案:

答案 0 :(得分:2)

take()show()不同。 show()打印结果,take()返回行列表(在PySpark中),可用于创建新的数据框。它们都是动作。

打印结果

df.show() 

获取行列表(PySpark)

sampleList = df.take(10)