我有两个数据帧与最大时间戳值在每个
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的成员
请建议。
您正在尝试将一个数据帧与另一个数据帧进行比较。您实际上需要引用第一行,然后从该行检索值。
在这种情况下,你可以使用以下命令:
table1maxvalue //Data frame
.head() //get the first row
.getDate(0) //get the first column as a date.