Configuración de codificadores personalizados y manejo de tipos parametrizados

Tengo dos preguntas relacionadas con los problemas del codificador que estoy enfrentando con mi flujo de datos.

¿Cómo hago para configurar un codificador para mis tipos de datos personalizados? La clase consta de solo tres elementos: dos dobles y otra propiedad parametrizada. Intenté anotar el tipo con SerializableCoder, pero sigo con el error "com.google.cloud.dataflow.sdk.coders.CannotProvideCoderException: No se puede proporcionar un codificador basado en el valor con la interfaz de clase java.util.Set: No se ha registrado ningún CoderFactory para la clase." El conjunto en realidad contiene el tipo de datos personalizado parametrizado, por lo que supongo que el tipo de datos personalizado es el problema. No pude encontrar suficiente documentación / ejemplos sobre la forma correcta de hacer esto. Indíqueme el lugar correcto si está disponible.Incluso sin el tipo de datos personalizado, cada vez que intento cambiar a una versión parametrizada de las funciones de Transformación, se producen errores de codificador. Específicamente, dentro de una transformación compleja que se parametriza, un ParDo funciona con tipos parametrizados, pero cuando aplico una Combine.PerKey en la PCollection resultante después del ParDo, da como resultado la excepción CoderNotFoundException.

Cualquier ayuda con respecto a estos dos elementos sería útil, ya que estoy algo atrapado en esto por algún tiempo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta