Hi, With py4j, you can call any Java method. On how to create a Java Row, you can call the `createRowWithNamedPositions` method of `RowUtils`[1].
[1] https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/types/RowUtils.java# Best, Xingbo Francis Conroy <francis.con...@switchdin.com> 于2022年2月25日周五 14:35写道: > Hi all, > > we're using pyflink for most of our flink work and are sometimes into a > java process function. > Our new java process function takes an argument in in the constructor > which is a Row containing default values. I've declared my Row in pyflink > like this: > > default_row = Row(ep_uuid="", > unit_uuid=None, > unit_longitude=None, > unit_latitude=None, > unit_state=None, > unit_country=None, > pf_uuid=None, > pf_name=None) > > row_type_information = RowTypeInfo([Types.STRING(), # ep_uuid > Types.STRING(), # unit_uuid > Types.DOUBLE(), # unit_longitude > Types.DOUBLE(), # unit_latitude > Types.STRING(), # unit_state > Types.STRING(), # unit_country > Types.STRING(), # pf_uuid > Types.STRING() # pf_name > ]) > > I'm now trying to get a handle to a java row object in the jvm so I can > pass that into the process function's constructor. > > endpoint_info_enriched_stream = > DataStream(ds._j_data_stream.connect(endpoint_info_stream._j_data_stream).process( > jvm.org.switchdin.operators.TableEnrich(j_obj))) > > I've tried a few approaches, but I really can't figure out how to do this, > I'm not sure what I need on each side for this, a coder, serializer, > pickler? > > > This email and any attachments are proprietary and confidential and are > intended solely for the use of the individual to whom it is addressed. Any > views or opinions expressed are solely those of the author and do not > necessarily reflect or represent those of SwitchDin Pty Ltd. If you have > received this email in error, please let us know immediately by reply email > and delete it from your system. You may not use, disseminate, distribute or > copy this message nor disclose its contents to anyone. > SwitchDin Pty Ltd (ABN 29 154893857) PO Box 1165, Newcastle NSW 2300 > Australia >