将数据集[immutable.Iterable [(String,String,String)]]转换为Spark Dataset [String,String,String]

我想将Dataset [immutable.Iterable [(String,String,String)]]转换为Spark Dataset [String,String,String]。

我尝试在所有组合中都找不到编码器错误。

请提出我该怎么做?

下面是代码片段。

在这里,变量“ z”的类型为Dataset [immutable.Iterable [(String,String,String)]]。

我想要数据集[字符串,字符串,字符串]

val z: Dataset[immutable.Iterable[(String, String, String)]] = dataFrame.map(row => {
        val rowKeyValue = row.getAs[String](rowKeyColumn)
        row.getValuesMap[Any](validColumnsOtherThanRowKeyColumn)
          .map(mapColumnNameToValueString => {
            // println("finalColumnName:::" + finalColumnName + ":::")
            (rowKeyValue, mapColumnNameToValueString._1.toString, mapColumnNameToValueString._2.toString)
          })
      })

如果看到的话,我正在尝试为除rowKeyColumn之外的所有列转置表。还让我知道是否有更好的方法可以做到这一点?