对此有一个解决方案,但是它笨拙且效率低下,在庞大的数据集(可能耗尽内存)的情况下可能无法正常工作。
您可以通过在tDenormalize组件中定义所有架构列,对整个输入进行非规格化,然后将其传递给tMap,以使用两者之间的特殊字符来连接所有列。特殊字符只是我们将要使用的下一个组件的标识符。将tMaps输出连接到tNormalize,并使用特殊字符作为项目分隔符,而要进行规范化的列应是唯一可用的列(您在上一个tMap中将其串联)。这应该做您想要的。如果您希望在此之后处理数据而不是仅仅进行转置,则可以使用tExtractDelimitedFields组件,并使用“,”作为字段分隔符,因为它是csv。