Spark 解析复杂 xml,数据如何映射到多表中

2021-09-01 17:29:51 +08:00
 bluehtt

需求:利用 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 处理数据,求大家给点意见和思路,万分感谢!

786 次点击
所在节点    Spark
2 条回复
wloverine
2021-09-01 22:11:57 +08:00
spark 解析 xml 需求还挺少见的
bluehtt
2021-09-01 22:14:30 +08:00
@wloverine #1 因为解析后的数据需要作各种处理,就想一步到位

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/799307

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX