需求:利用 Spark 解析 xml 文件,xml 结构最大深度有 8 层,数据有复杂的关联关系,处理后会插入到 20 多张表中。由于使用工具解析后的 DataFrame 结构过长,简单截取了一部分如下:
目前没有好的思路,就是获取每一列元素依次遍历提取出所有需要的元素,但是想到要遍历 8 层眼泪都要流下来了:
// 层层对象遍历
val identifiers = row.get(0).asInstanceOf[Row].get(0).asInstanceOf[Row].get(0).asInstanceOf[Row].get(0)
// 解析数组
println(identifiers.asInstanceOf[mutable.WrappedArray[AnyRef]](0))
就以图示中的结构来说,数据不算复杂,但是完整的结构实在是令人神伤,贴了图恐怕会占据整个页面。另外最终要插入的 20 多张表中十几张是关联表。 初次使用 Spark 处理数据,求大家给点意见和思路,万分感谢!
1
wloverine 2021-09-01 22:11:57 +08:00
spark 解析 xml 需求还挺少见的
|