pyspark spark 3.2中的网络架构/rdd的大小

yc0p9oo0  于 2023-11-16  发布在  Spark
关注(0)|答案(2)|浏览(137)

我正在使用

spark_session._jsparkSession.sessionState().executePlan(
     df._jdf.queryExecution().logical()).optimizedPlan().stats().sizeInBytes()

字符串
和pyspark与version<3.2,以获得我的DF的大小(字节),但在3.2中,似乎executePlan的签名已经改变,我得到以下错误

py4j.Py4JException: Method executePlan([class org.apache.spark.sql.catalyst.plans.logical.Filter]) does not exist


有什么办法能让它工作吗?我试着加上

spark_session._jsparkSession.CommandExecutionMode


函数调用,但它产生了以下错误:

{AttributeError}'JavaMember' object has no attribute '_get_object_id'

oprakyz7

oprakyz71#

我不确定你尝试的方法
她是解决你的问题的另一种方法。
df.rdd.mapPartitionsWithIndex(lambda x,it:[(x,sum(1 for _ in it))]).collect()

xoshrz7s

xoshrz7s2#

size_bytes = spark._jsparkSession.sessionState().executePlan(
    df._jdf.queryExecution().logical(),
    df._jdf.queryExecution().mode()
).optimizedPlan().stats().sizeInBytes()

字符串
信用:https://stackoverflow.com/a/77174735/5421064

相关问题