【发布时间】:2018-02-10 17:18:39
【问题描述】:
我的应用程序允许在运行时通过 maven 原型创建 TupleI<x,y,z> 数据类型。通过 java 反射,我知道 x、y、z 等最终是哪种原始数据类型。我也知道 x、y 或 z 等是否最终也被定义为元组。当我尝试在扩展 RichMapFunction<Tuple<x,y,z>> 的类下映射源输入中的值时出现问题 - 即我可以使用 tuple.setfield(aValue, position) 将源映射到主元组定义,但如果主元组定义包含嵌套元组,即没有tuple.setField(aValue, 1).setfield("",0)。在这种情况下,我们试图在一个元组中设置第一条数据的值,该元组定义为在字段 1 具有一个元组,所以有点像:-Tuple2<String,Tuple1<Integer>>。任何可能的方式。 (请记住,不能将字段称为 f0、f1、f2 等,因为它们在运行时可能不存在,因此应用程序永远无法编译。我可以编写一些东西来创建可以引用 f0,f1,f2 的方法,即尽可能多a 是必需的,在创建应用程序之前将其注入原型 - 但是当我所做的只是设置一个类众所周知的值时,这是一项相当多的工作并且听起来很冒险。
【问题讨论】:
标签: java tuples apache-flink