3

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

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

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

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

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

4

0 回答 0