[英]how to compare two data frames in spark scala?
我有兩個數據幀,每個數據幀都有最大時間戳值。
val Table1max=spark.read.format("parquet").option("header","true").load(s"${SourcePath}/ab12")
Table1max.createOrReplaceTempView("temp")
val table2max=spark.read.format("parquet").option("header","true").load(s"${SourcePath}/abc")
table2max.createOrReplaceTempView("temp1")
Then select max update date from both
val table1maxvalue = spark.sql(s"select max(UPDATE_DATE) from temp")
val table2maxvalue= spark.sql(s"select max(UPDATE_DATE) from temp1")
Here table1maxvalue and table2maxvalue are dataframes.
table1maxvalue
+--------------------+
| max(UPDATE_DATE)|
+--------------------+
|2022-05-02 01:04:...|
+--------------------+
table2maxvalue
+--------------------+
| max(UPDATE_DATE)|
+--------------------+
|2022-05-02 01:04:...|
+--------------------+
現在我如何檢查 table1maxvalue > table2maxvalue 它應該是什么。 喜歡
if(table1maxvalue<table2maxvalue){
Do something
}
因為它是數據框,所以我收到此錯誤:值 >= 不是 org.apache.spark.sql.DataFrame 的成員
請建議。
您正在嘗試將 dataFrame 與另一個數據幀進行比較。 您實際上需要引用第一行,然后從該行中檢索值。
在這種情況下,您可以使用以下內容:
table1maxvalue //Data frame
.head() //get the first row
.getDate(0) //get the first column as a date.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.