使用java实现spark中的interween函数

使用java实现spark中的interween函数,java,dataframe,apache-spark,Java,Dataframe,Apache Spark,我有两个数据帧: Dataframe 1 +-----------------+-----------------+ | hour_Entre | hour_Sortie | +-----------------+-----------------+ | 18:30:00 | 05:00:00 | | | | +-----------------+-----------------+

我有两个数据帧:

 Dataframe 1
+-----------------+-----------------+
|    hour_Entre   |   hour_Sortie   |
+-----------------+-----------------+
|      18:30:00   |     05:00:00    |
|                 |                 |
+-----------------+-----------------+
 Dataframe 2
+-----------------+
|  hour_Tracking  |            
+-----------------+
|  19:30:00       |
+-----------------+
我想在进站时间和出动时间之间进行小时追踪

我尝试了以下代码:

boolean checked = true;
 try{
         if(df1.select(col("heureSortie")) != null && df1.select(col("heureEntre")) !=null){
           checked = checked && df2.select(col("dateTracking_hour_minute").between(df1.select(col("heureSortie")),df1.select(col("heureEntre"))));
         }
      } catch (Exception e) {
          e.printStackTrace();
      }
但我得到了这个错误:

Operator && cannot be applied to boolean , 'org.apache.spark.sql.Dataset<org.apache.spark.sql.Row>'
运算符&&不能应用于布尔值“org.apache.spark.sql.Dataset”

以防您查找时差-

第一次创建日期差异

from pyspark.sql import functions as F
df = df.withColumn('date_diff', F.datediff(F.to_date(df.hour_Entre), F.to_date(df.hour_Sortie)))
然后从中计算小时差-

df = df.withColumn('hours_diff', (df.date_diff*24) + 
                          F.hour(df.hour_Entre) - F.hour(df.hour_Sortie))

错误消息是正确的,使用&&布尔值和数据集是没有意义的。你想在这里实现什么?为什么?如果两个表中都有不止一行,那么代码应该生成什么?检查
的目的是什么?
?我希望如果between函数返回true,cheched的值变为true