[
https://issues.apache.org/jira/browse/BEAM-3204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Luke Cwik resolved BEAM-3204.
-----------------------------
Resolution: Fixed
Fix Version/s: 2.14.0
> Coders only should have a FunctionSpec, not an SdkFunctionSpec
> --------------------------------------------------------------
>
> Key: BEAM-3204
> URL: https://issues.apache.org/jira/browse/BEAM-3204
> Project: Beam
> Issue Type: Sub-task
> Components: beam-model
> Reporter: Kenneth Knowles
> Assignee: Luke Cwik
> Priority: Major
> Labels: portability
> Fix For: 2.14.0
>
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> We added environments to coders to account for "custom" coders where it is
> only really possible for one SDK to understand them, like this:
> {code}
> Coder {
> spec: SdkFunctionSpec {
> environment: "java_sdk_docker_container",
> spec: FunctionSpec {
> urn: "beam:coder:java_custom_coder",
> payload: <serialized java bytes>
> }
> }
> }
> {code}
> But a coder must be understood by both the producer of a PCollection and its
> consumers. A coder is not the same as other UDF, though these are
> user-defined.
> A pipeline where either the producer or consumer cannot handle the coder is
> invalid, and we will have to build our cross-language APIs to prevent
> construction of such a pipeline. So we can drop the environment.
> I think there are some folks who want to reserve the ability to add an
> environment later, perhaps, to not pain ourselves into a corner. In this
> case, we can just add a field to Coder.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)