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>

Reply via email to