Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-28742

Table.to_pandas fails with lit("xxx")

    XMLWordPrintableJSON

Details

    Description

      Table.to_pandas method throws the following exception when the table contains lit("anyString").

       

      py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.flink.table.runtime.arrow.ArrowUtils.collectAsPandasDataFrame.
      : java.lang.UnsupportedOperationException: Python vectorized UDF doesn't support logical type CHAR(3) NOT NULL currently.
          at org.apache.flink.table.runtime.arrow.ArrowUtils$LogicalTypeToArrowTypeConverter.defaultMethod(ArrowUtils.java:743)
          at org.apache.flink.table.runtime.arrow.ArrowUtils$LogicalTypeToArrowTypeConverter.defaultMethod(ArrowUtils.java:617)
          at org.apache.flink.table.types.logical.utils.LogicalTypeDefaultVisitor.visit(LogicalTypeDefaultVisitor.java:62)
          at org.apache.flink.table.types.logical.CharType.accept(CharType.java:148)
          at org.apache.flink.table.runtime.arrow.ArrowUtils.toArrowField(ArrowUtils.java:189)
          at org.apache.flink.table.runtime.arrow.ArrowUtils.lambda$toArrowSchema$0(ArrowUtils.java:180)
          at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
          at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
          at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
          at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
          at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
          at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
          at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
          at org.apache.flink.table.runtime.arrow.ArrowUtils.toArrowSchema(ArrowUtils.java:181)
          at org.apache.flink.table.runtime.arrow.ArrowUtils.collectAsPandasDataFrame(ArrowUtils.java:483)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.apache.flink.api.python.shaded.py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
          at org.apache.flink.api.python.shaded.py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
          at org.apache.flink.api.python.shaded.py4j.Gateway.invoke(Gateway.java:282)
          at org.apache.flink.api.python.shaded.py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
          at org.apache.flink.api.python.shaded.py4j.commands.CallCommand.execute(CallCommand.java:79)
          at org.apache.flink.api.python.shaded.py4j.GatewayConnection.run(GatewayConnection.java:238)
          at java.lang.Thread.run(Thread.java:748)
       

       

      The code to reproduce the problem

      env = StreamExecutionEnvironment.get_execution_environment()
      t_env = StreamTableEnvironment.create(env)
      
      src_table = t_env.from_data_stream(
          env.from_collection([1, 2], type_info=BasicTypeInfo.INT_TYPE_INFO())
      )
      
      table = src_table.select(expr.lit("123"))
      # table.execute().print()
      print(table.to_pandas())

      Attachments

        Issue Links

          Activity

            People

              dianfu Dian Fu
              xuannan Xuannan Su
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: