第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在spark數(shù)據(jù)框的同一列上進(jìn)行多個聚合操作

在spark數(shù)據(jù)框的同一列上進(jìn)行多個聚合操作

拉丁的傳說 2019-10-11 10:29:10
我有三個字符串類型的數(shù)組,其中包含以下信息:groupBy數(shù)組:包含要對數(shù)據(jù)進(jìn)行分組的列的名稱。聚合數(shù)組:包含要聚合的列的名稱。操作數(shù)組:包含我要執(zhí)行的聚合操作我正在嘗試使用Spark數(shù)據(jù)框架來實(shí)現(xiàn)這一目標(biāo)。Spark數(shù)據(jù)幀提供了agg(),您可以在其中傳遞Map [String,String](具有列名和相應(yīng)的聚合操作)作為輸入,但是我想對數(shù)據(jù)的同一列執(zhí)行不同的聚合操作。關(guān)于如何實(shí)現(xiàn)這一目標(biāo)的任何建議?
查看完整描述

3 回答

?
富國滬深

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個贊

對于那些想知道的人,如何在不使用python進(jìn)行列表理解的情況下編寫@ zero323答案:


from pyspark.sql.functions import min, max, col

# init your spark dataframe


expr = [min(col("valueName")),max(col("valueName"))]

df.groupBy("keyName").agg(*expr)


查看完整回答
反對 回復(fù) 2019-10-11
?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個贊

case class soExample(firstName: String, lastName: String, Amount: Int)

val df =? Seq(soExample("me", "zack", 100)).toDF


import org.apache.spark.sql.functions._


val groupped = df.groupBy("firstName", "lastName").agg(

? ? ?sum("Amount"),

? ? ?mean("Amount"),?

? ? ?stddev("Amount"),

? ? ?count(lit(1)).alias("numOfRecords")

? ?).toDF()


display(groupped)

//禮貌的Zach ..


查看完整回答
反對 回復(fù) 2019-10-11
  • 3 回答
  • 0 關(guān)注
  • 731 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號