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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Spark Java API中兩行之間的差異

Spark Java API中兩行之間的差異

手掌心 2021-05-13 14:11:13
我有一個(gè)Spark數(shù)據(jù)集:+----------+-----+----+|      Date|Value|Name|+----------+-----+----+|2013-02-08|14.75| AAL||2013-02-11|14.46| AAL||2013-02-12|19.27| AAL||2013-02-11|13.66| FIN||2013-02-12|16.99| FIN|+----------+-----+----+我想按以下方式計(jì)算后幾天的差額:+----------+-----+----+|      Date| Diff|Name|+----------+-----+----+|2013-02-11| 0.29| AAL||2013-02-12| 4.81| AAL||2013-02-12| 3.33| FIN|+----------+-----+----+我看到它是可以實(shí)現(xiàn)的Scala中提到這里很容易。有沒(méi)有辦法用Java做到這一點(diǎn)?我正在嘗試類(lèi)似的方法,但是對(duì)我來(lái)說(shuō)真的沒(méi)有意義:WindowSpec windowSpec = Window.partitionBy("Name").orderBy("Date");modifiedDF = modifiedDF.withColumn("Diff", df.col("Value") - when((lag("Value", 1).over(windowSpec)).isNull(), 0).otherwise(lag("Value", 1).over(windowSpec)))        .show(false);Java抱怨說(shuō)減法運(yùn)算符不能應(yīng)用于“ org.apache.spark.sql.Column”類(lèi)型。但是,我確實(shí)看到了.divide()實(shí)現(xiàn)的方法org.apache.spark.sql.functions,因此,以下工作正常:modifiedDF = modifiedDF.withColumn("Diff", modifiedDF.col("Value").divide(when((lag("Value", 1).over(windowSpec)).isNull(), 0).otherwise(lag("Value", 1).over(windowSpec))));我有兩個(gè)問(wèn)題:1)這是正確的方法嗎?2)如果是,為什么在.subtract中沒(méi)有實(shí)現(xiàn) org.apache.spark.sql.functions
查看完整描述

1 回答

?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

.subtract()我一直在尋找的功能被命名為.minus()


modifiedDF = modifiedDF.withColumn("Diff",

                modifiedDF.col("Value")

                        .minus(when((lag("Value", 1).over(windowSpec)).isNull(), 0)

                                .otherwise(lag("Value", 1).over(windowSpec))));

希望這對(duì)某人有幫助!


查看完整回答
反對(duì) 回復(fù) 2021-05-19
  • 1 回答
  • 0 關(guān)注
  • 207 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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