复杂的json日志数据转换使用?

时间:2016-09-05 22:12:49

标签: apache-spark apache-spark-sql avro spark-avro

我是数据科学工具的新手,并且有一个用例将json日志转换为扁平的柱状数据,可能被认为是正常的csv,我正在研究很多替代方案(工具)来解决这个问题并发现我可以使用 Apache Spark Sql 轻松解决这个问题,但问题是我的json日志可能是一个带有分层数组的复杂数据结构,即我必须多次爆炸数据集才能对其进行转换。

问题是我不想硬编码数据转换的逻辑,因为我希望使用不同的转换逻辑重用相同的代码块,或者以更好的方式将其转换为我希望我的转换由配置而不是代码。

出于同样的原因,我正在研究 Apache Avro ,它为我提供了为输入定义自己的模式的自由,但问题是我不知道我是否也可以定义输出模式还有?如果没有那么它将与读取和过滤avro数据结构(生成)到我的代码逻辑中相同。

我能想到的一个可能的解决方案是定义我的模式以及数组字段和一些标志来通知我的解析器在它们上爆炸,这也可能是递归的,直到我将输入模式转换为输出,即生成基于我的输入和输出模式的转换逻辑。

有没有更好的方法让我不知道或无法思考?

0 个答案:

没有答案