如何将RDD [Array [Row]]转换为RDD [Row]?将RDD [Array [Row]]转换为RDD [Row]
详情:
我在我的解析函数返回类型数组[行]对一些数据和行一些数据的一些使用情况。我将如何将这两个转换为RDD [行]以供进一步使用?
代码示例
private def getRows(rdd: RDD[String], parser: Parser): RDD[Row] = {
var processedLines = rdd.map { line =>
map(p => parser.processBeacon(line) }
val rddOfRowsList = processedLines.map { x =>
x match {
case Right(obj) => obj.map { p =>
MyRow.getValue(p)
}//I can use flatmap here
case Left(obj) =>
MyRow.getValue(obj)
}//Cant use flatmap here
}
// Here I have to convert rddOfRowsList to RDD[Row]
//?????
val rowsRdd =?????
//
rowsRdd
}
def processLine(logMap: Map[String, String]):Either[Map[String, Object], Array[Map[String, Object]]] =
{
//process
}
您可以添加一些代码以及一些示例输入和想要的输出吗? – Shaido