我正在Jupyter笔记本中使用PySpark。下一步骤需要100秒钟左右的时间,这是可以接受的。
toydf = df.select("column_A").limit(20)
然而,以下的show()
步骤需要2-3分钟的时间。它只有20行整数列表,并且每个列表中的元素不超过60个。为什么会这么慢呢?
toydf.show()
df
是按以下方式生成的:
spark = SparkSession.builder\
.config(conf=conf)\
.enableHiveSupport()\
.getOrCreate()
df = spark.sql("""SELECT column_A
FROM datascience.email_aac1_pid_enl_pid_1702""")
df
是如何生成的?这里唯一实际读取任何数据的方法是show()
... 注意:大多数应用程序要么是 CPU 绑定,要么是网络绑定,但只有在数据存储在内存中后才会出现这种情况。 - OneCricketeer