Dataframe 数据帧行(总和(fld))为离散值

Dataframe 数据帧行(总和(fld))为离散值,dataframe,Dataframe,我有这个: df = sqlContext.sql(qry) df2 = df.withColumn("ext", df.lvl * df.cnt) ttl = df2.agg(F.sum("ext")).collect() 其中返回以下内容: [行(和(外)=1285430)] 如何将其分解为离散值1285430,而不将其作为列表行(sum()) 我已经研究和尝试了很多东西,我完全被束缚住了。访问第一行,然后获取第一个元素int df2.agg(F.sum(“ext”)).collect()

我有这个:

df = sqlContext.sql(qry)
df2 = df.withColumn("ext", df.lvl * df.cnt)
ttl = df2.agg(F.sum("ext")).collect()
其中返回以下内容:

[行(和(外)=1285430)]

如何将其分解为离散值
1285430
,而不将其作为列表行(sum())


我已经研究和尝试了很多东西,我完全被束缚住了。

访问第一行,然后获取第一个元素int

df2.agg(F.sum(“ext”)).collect()(0).getInt(0)


查看文档:.

访问第一行,然后获取第一个元素int

df2.agg(F.sum(“ext”)).collect()(0).getInt(0)

查看文档:.

无需收集:

n = ...your transformation logic and agg... .first().getInt(0)
无需收取:

n = ...your transformation logic and agg... .first().getInt(0)

也可以是df.collect()[0][0]-或-df.collect()[0]['sum(ext)]

也可以是df.collect()[0][0]-或-df.collect()[0]['sum(ext)]

这是否回答了您的问题?另外,您将其标记为databricks,但我认为这里没有任何特定于databricks的内容,如果您搜索spark或pyspark而不是指定databricks,则会有更多可用信息。根据协议接受答案可能是一个好主意。这是否回答了您的问题?另外,您将其标记为databricks,但我认为这里没有任何特定于databricks的内容,如果您搜索spark或pyspark而不是指定databricks,则会有更多可用信息。根据协议接受答案可能是一个好主意。