是否有任何解决方案可以比较两个 hdfs 集群的一个 table 与相同 sql 的结果

Is there any solution to compare the two hdfs cluster's result of one table with the same sql

出于某种原因,我们从旧集群迁移到新集群。但是我们的新集群一开始运行不佳,所以我们发现了一些问题并进行了修复。

但是在我花在修复上的时间里,一些 etl 起作用了,而 sqls 可能会产生一些错误的数据。 如何快速比较同一table的这两个集群的数据?

我尝试使用 getmerge 和校验和来查找差异, 但我不确定两个集群的结果是否以同样的方式溢出, 在我看来,两个集群可能会产生不同数量的数据块, 所以每个块中的拆分可能不同,

如何比较两个数据?几乎这两个数据是一样的,结果却有不同的拆分量? 这两个 table 很大,我有很多比较要做...... 所以...

有大佬有解决办法吗?

非常感谢。

是的,您可以创建一个指向其他服务器数据的外部 table,这样您就可以从其他服务器查询 table。 您需要在 create table 语句中指定数据的位置。

只需确保存在访问其他服务器 HDFS 的权限 还要确保权限一致(即 kerberos 领域是可信的)并且暂存目录设置指向数据的位置

可以像

CREATE TABLE othertable (a INT, b STRING, c INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’
LOCATION ‘hdfs://{Name service on second cluster}/<path to table>’;