【发布时间】:2020-10-04 16:37:13
【问题描述】:
我有两个数据框:
Dataframe 1
+-----------------+-----------------+
| hour_Entre | hour_Sortie |
+-----------------+-----------------+
| 18:30:00 | 05:00:00 |
| | |
+-----------------+-----------------+
Dataframe 2
+-----------------+
| hour_Tracking |
+-----------------+
| 19:30:00 |
+-----------------+
我想使用 hour_Entre 和 hour_Sortie 之间的 hour_tracking。
我尝试了以下代码:
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>'
【问题讨论】:
-
错误信息是正确的,&&一个布尔值和一个数据集是没有意义的。你想在这里实现什么,为什么?如果两个表中不止一行,该代码应该产生什么?
checked的目的是什么? -
我希望如果 between 函数返回 true 则 cheched 的值变为 true
标签: java dataframe apache-spark