hive—有没有解决方案来比较两个hdfs集群对同一个sql表的结果

e5nszbig  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(468)

由于某些原因,我们从旧集群迁移到新集群,但是我们的新集群一开始工作不好,所以我们发现了一些问题并加以解决。
但是在我花在修复上的时间里,一些etl工作了,sql可能会产生一些错误的数据。如何快速比较同一个表中这两个集群的数据?
我试过用getmerge和checksum来找出差异,但是我不确定两个簇的结果是否以相同的方式分开,我认为两个簇可能产生不同数量的数据块,所以每个块中的分裂可能是不同的,
如何比较这两个数据?这两个数据基本相同,但结果有不同的分割量?这两张table很大,我要做很多比较。。。所以。。。
有老板有解决办法吗?
谢谢。

zynd9foi

zynd9foi1#

是的,您可以创建一个指向其他服务器数据的外部表,这样您就可以从其他服务器查询表。您需要在CREATETABLE语句中指定数据的位置。
只要确保存在访问其他服务器hdf的权限,还要确保权限是一致的(即kerberos领域是可信的),并且staging directory设置指向数据的位置
它可以像

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>’;

相关问题