此问题已在某种程度上得到回答:Is there anyway to compare two avro files to see what differences exist in the data?
但是,我想检查是否有任何更简单的方法可以在Python中创建一个接受两个AVRO文件,比较它们并确定它们是否相同的函数。我了解需要先检查架构,然后再检查内容。
答案 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所说,这取决于您在何处运行此程序以及对性能的要求是什么。