Yunfeng Zhou created FLINK-32494:
------------------------------------

             Summary: Cannot convert list literal to Table with PyFlink
                 Key: FLINK-32494
                 URL: https://issues.apache.org/jira/browse/FLINK-32494
             Project: Flink
          Issue Type: Bug
          Components: API / Python
    Affects Versions: 1.16.1
            Reporter: Yunfeng Zhou


During my attempt to convert a list or array to a PyFlink Table using the 
following program

{code:python}
from pyflink.datastream import StreamExecutionEnvironment
from pyflink.java_gateway import get_gateway
from pyflink.table import (
    expressions as native_flink_expr,
    StreamTableEnvironment,
)
from pyflink.table.types import DataTypes

if __name__ == "__main__":
    env = StreamExecutionEnvironment.get_execution_environment()
    t_env = StreamTableEnvironment.create(env)
    table = t_env.from_elements([(1, ), (2, ), (3, )])
    # table = table.add_or_replace_columns(
    #     native_flink_expr.lit([], DataTypes.ARRAY(DataTypes.INT()).not_null())
    # )
    table = table.add_or_replace_columns(
        
native_flink_expr.lit(get_gateway().new_array(get_gateway().jvm.java.lang.Integer,
 0))
    )
    table.execute().print()
{code}

The following exception would be thrown
{code}
ClassCastException: [Ljava.lang.Integer; cannot be cast to java.util.List
{code}

If I use the following code to create the literal expression along with the 
program above
{code:python}
table = table.add_or_replace_columns(
    native_flink_expr.lit([], DataTypes.ARRAY(DataTypes.INT()).not_null())
)
{code}

The following exception would be thrown
{code}
Data type 'ARRAY<INT> NOT NULL' with conversion class '[Ljava.lang.Integer;' 
does not support a value literal of class 'java.util.ArrayList'.
{code}

As PyFlink does not provide a document explaining how to create Table with list 
literals, and my attempts described above both fail, there might be some bug in 
PyFlink with this function.






--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to