None of the following appear to work either. Flink 1.11.2, Scala 2.12. table.filter("apple".in(List("apple"))) [info] org.apache.flink.table.api.ValidationException: IN operator on incompatible types: String and ObjectArrayTypeInfo<String>.
table.filter("apple".in(java.util.Arrays.asList("apple"))) [info] org.apache.flink.table.api.ValidationException: IN operator on incompatible types: String and ObjectArrayTypeInfo<String>. table.filter( "apple".in(new ju.ArrayList[String](java.util.Arrays.asList("apple"))) ) [info] org.apache.flink.table.api.ValidationException: IN operator on incompatible types: String and ObjectArrayTypeInfo<String>. On Tue, Nov 3, 2020 at 2:32 PM Rex Fenley <r...@remind101.com> wrote: > Using a custom serializer to make sure I'm using a List<String> does not > help. > > [info] org.apache.flink.table.api.ValidationException: IN operator on > incompatible types: String and List<String>. > > On Tue, Nov 3, 2020 at 12:44 PM Rex Fenley <r...@remind101.com> wrote: > >> For clarification, I'm using Pojo and operating on a column of this type >> public java.util.List<String> fruits >> >> adding the following annotation does not help >> @DataTypeHint("ARRAY<STRING NOT NULL>") >> >> On Mon, Nov 2, 2020 at 7:02 AM Aljoscha Krettek <aljos...@apache.org> >> wrote: >> >>> I believe this is happening because the type system does not recognize >>> that list of Strings as anything special but treats it as a black-box >>> type. >>> >>> @Timo: Would this work with the new type system? >>> >>> Best, >>> Aljoscha >>> >>> On 02.11.20 06:47, Rex Fenley wrote: >>> > Hello, >>> > >>> > I'm trying to filter the rows of a table by whether or not a value >>> exists >>> > in an array column of a table. >>> > Simple example: >>> > table.where("apple".in($"fruits")) >>> > >>> > In this example, each row has a "fruits" Array<String> column that >>> could >>> > have 1 or many fruit strings which may or may not be "apple". >>> > >>> > However, I keep receiving the following error when I do something >>> similar >>> > to the example above: >>> > "IN operator on incompatible types: String and >>> GenericType<java.util.List>" >>> > >>> > Is there any way to accomplish this? >>> > >>> > Thanks! >>> > >>> >>> >> >> -- >> >> Rex Fenley | Software Engineer - Mobile and Backend >> >> >> Remind.com <https://www.remind.com/> | BLOG <http://blog.remind.com/> >> | FOLLOW US <https://twitter.com/remindhq> | LIKE US >> <https://www.facebook.com/remindhq> >> > > > -- > > Rex Fenley | Software Engineer - Mobile and Backend > > > Remind.com <https://www.remind.com/> | BLOG <http://blog.remind.com/> | > FOLLOW US <https://twitter.com/remindhq> | LIKE US > <https://www.facebook.com/remindhq> > -- Rex Fenley | Software Engineer - Mobile and Backend Remind.com <https://www.remind.com/> | BLOG <http://blog.remind.com/> | FOLLOW US <https://twitter.com/remindhq> | LIKE US <https://www.facebook.com/remindhq>