Hive 有没有办法比较两个hdfs集群';s具有相同sql的一个表的结果

Hive 有没有办法比较两个hdfs集群';s具有相同sql的一个表的结果,hive,hdfs,md5,checksum,Hive,Hdfs,Md5,Checksum,出于某种原因,我们从旧集群迁移到了新集群,但是我们的新集群一开始工作得不好,所以我们发现了一些问题并解决了它 但在我花在修复上的时间里,一些etl起作用,而sqls可能会产生一些错误的数据。 如何快速比较同一个表中这两个集群的数据 我试着用getmerge和checksum来找出差异, 但我不确定两个集群的结果是否以相同的方式溢出, 在我看来,两个集群可能会产生不同数量的数据块, 因此,每个区块的分割可能不同 如何比较这两个数据?这两个数据几乎是一样的,但结果有不同的分割量吗? 这两张桌子很大,

出于某种原因,我们从旧集群迁移到了新集群,但是我们的新集群一开始工作得不好,所以我们发现了一些问题并解决了它

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

我试着用getmerge和checksum来找出差异, 但我不确定两个集群的结果是否以相同的方式溢出, 在我看来,两个集群可能会产生不同数量的数据块, 因此,每个区块的分割可能不同

如何比较这两个数据?这两个数据几乎是一样的,但结果有不同的分割量吗? 这两张桌子很大,我有很多比较要做。。。 所以

有没有老板有解决办法


非常感谢

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

只需确保存在访问其他服务器HDF的权限 还要确保权限一致(即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>’;
CREATE TABLE othertable(a INT,b STRING,c INT)
行格式分隔
以“,”结尾的字段
位置“hdfs://{Name service on second cluster}/”;

非常感谢。这似乎是一种解决办法。但实际上,这两个集群位于不同的城市。所以这种方式可能会在带宽上花费很多吗?是的,可能会,但我认为除了将CP数据从一台服务器分离到另一台服务器之外,没有其他可能的方法,这也是相同的事情。我更喜欢用它作为比较一些重要数据的备份方式。为了控制带宽的影响,我将进行一些测试,看是否相同的sql使用相同的校验和结果生成相同数量的数据拆分。下次谢谢,帮了我大忙。