簡體   English   中英

如何比較spark scala中的兩個數據幀?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM