如何在python中执行AVRO Diff(2个AVRO文件之间的差异)

时间:2018-07-03 14:01:24

标签: python avro

此问题已在某种程度上得到回答:Is there anyway to compare two avro files to see what differences exist in the data?

但是,我想检查是否有任何更简单的方法可以在Python中创建一个接受两个AVRO文件,比较它们并确定它们是否相同的函数。我了解需要先检查架构,然后再检查内容。

2 个答案:

答案 0 :(得分:0)

->您要在哪里运行此程序? ->是否在安装了蜂巢/猪的群集中?       如果您能够将两个文件都加载到Pigscript中,       每行== 2的分组依据和计数应该对您有所帮助。

如果它不是群集-我将退回到java,使用avroutil jar读取文件并开始迭代记录。 [我不确定这种方法中数据文件的可伸缩性]

最好的方法是在包装程序中使用hive / pig比较数据是高效且可扩展的。

答案 1 :(得分:0)

我认为没有预先创建的库可以与Avro对象进行比较,但是有很多库可以执行JSON。例如,您可以在Java(https://www.baeldung.com/jackson-compare-two-json-objects)中使用Jackson,也可以在python(https://pypi.org/project/deepdiff/)中使用deepdiff。您可以将AVRO反序列化为JSON并应用其中一种。

不过,就像Jijo所说,这取决于您在何处运行此程序以及对性能的要求是什么。