没有问题了,因为隐式转换问题。

> 2022年4月30日 22:47,Arthur Li <lianyou1...@126.com> 写道:
> 
> Hi all,
> 
> 我在使用filter scala表达方式时,提示需要Expression类型,但是实际是String类型,但是这种写法在源码文档里是推荐的。
> 
> 我的代码:
> sensorTab
>   // 使用Expression方式,例如 tab.select($"key", $"value".avg + " The average" as 
> "average")
>   .select($"id", $"temperature")
>   // 使用Expression方式
>   //      .filter($("id").isEqual("sensor_1"))
>   // 使用这种方式,类型不匹配
>   // Required Expression, Found String
>   .filter($"id" === "sensor_1”) // error
>   .toDataStream
>   .print("select sensor_1")
> 
> 
> 源码文档:
> 
> Filters out elements that don't pass the filter predicate. Similar to a SQL 
> WHERE clause.
> Example:
>  
>  tab.filter($("name").isEqual("Fred"));
>  
> Scala Example:
>  
>  tab.filter($"name" === "Fred”)
> 
>  Table filter(Expression predicate);
> 

回复