[ 
https://issues.apache.org/jira/browse/BEAM-9814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17091725#comment-17091725
 ] 

Reuven Lax commented on BEAM-9814:
----------------------------------

But we should add. a schema-aware version of MapElements. Something like:

 

MapElements.into(outputSchema).via(row -> processRow(row) );

> Error occurred when transforming from row to a new row without setCoder
> -----------------------------------------------------------------------
>
>                 Key: BEAM-9814
>                 URL: https://issues.apache.org/jira/browse/BEAM-9814
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-core
>    Affects Versions: 2.19.0
>            Reporter: Ruixue Liao
>            Assignee: Reuven Lax
>            Priority: Major
>
> The output row from transform function uses the input row schema to verify 
> which causes error. Ex:
> {code}
>         .apply(MapElements.via(
>                 new SimpleFunction<Row, Row>() \{
>                     @Override
>                     public Row apply(Row line) {
>                         return Row.withSchema(newSchema).addValues("a", 1, 
> "b").build();
>                     }
>                 }));
> {code}
> Got error when the output row schema is not the same as the input row.
> Need to add {{.setCoder(RowCoder.of(newSchema))}} after the transform 
> function to make it work.
> Related link: 
> [https://stackoverflow.com/questions/61236972/beam-sql-udf-to-split-one-column-into-multiple-columns]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to