gpt4 book ai didi

dataframe - Spark 数据帧的分区数?

转载 作者:行者123 更新时间:2023-12-01 23:57:46 26 4
gpt4 key购买 nike

我有一个 spark 数据框(Spark 2.3),它存储了一个包含零条记录的 sql。当我尝试计算分区数时,它没有显示任何结果,并尝试了各种函数,例如 df.rdd.getNumPartitions/df.rdd.getNumPartitions()/df.rdd.length/df.rdd.partitions.size.

如何从具有零个或数百万条记录的 spark 数据框中获取分区数?

代码:

empsql = 'Select * From Employee' ## In this sql it has zero records
df = spark.sql(empsql) ##Spark is configured
df.rdd.getNumPartitions

#Using df.rdd.partitions.size got error as: AttributeError: 'RDD' object has no attribute 'partitions'

最佳答案

尝试,假设 pyspark:

df.rdd.getNumPartitions()

通过应该等同于空查询的空 DF 进行模拟:

from pyspark.sql.types import *
field = [StructField("FIELDNAME_1",StringType(), True),StructField("FIELDNAME_2", StringType(), True), StructField("FIELDNAME_3", StringType(), True)]
schema = StructType(field)
df = sqlContext.createDataFrame(sc.emptyRDD(), schema)
df.rdd.getNumPartitions()

返回:

Out[6]: 0

另外:

df.registerTempTable('XXX')
yyy = spark.sql("select * from XXX")
yyy.rdd.getNumPartitions()

产量:

Out[11]: 0

关于dataframe - Spark 数据帧的分区数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62395834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com