我找不到一个开源工具或库来比较两个镶木地板文件。假设我没有忽视显而易见的事情,这有技术原因吗?
在编写 parquet diff 工具之前,程序员需要考虑什么?
我正在使用 Python 语言。
谢谢你。
最简单的组合是pandas与pyarrow. 一旦你安装了两个包,你可以使用https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_parquet.html将 Apache Parquet 文件加载到 Pandas DataFrame 中,然后在 Pandasassert_frame_equal上使用 Pandas'两个结果数据帧。
请注意,这将比较两个结果数据帧,而不是 Parquet 文件的确切内容。由于并非所有 Parquet 类型都可以与 Pandas 1:1 匹配,因此诸如 Date 或 DateTime 之类的信息会丢失,但 Pandas 提供了一个非常好的比较基础设施。
或者,您可以使用 Apache Arrow(pyarrow上面提到的包)并将数据读入pyarrow.Table并检查相等性。此方法可以更好地保留类型信息,但如果存在以下差异,则不那么冗长:
import pyarrow.parquet as pq
table1 = pq.read_table('file1.parquet')
table2 = pq.read_table('file2.parquet')
assert table1.equals(table2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5390 次 |
| 最近记录: |