(我必须承认,这是我第一次承认)使用AWS Athena,并尝试验证应该与Production相同的QA表的数据完整性。两种环境是完全隔离的,因此无法使用任何涉及联接,联合,Except子句等的常规SQL技术。 我猜比较校验和是我最好的选择。但是,尽管Presto文档包含许多哈希和校验和函数,但似乎没有一个适用于整个表。您的建议将不胜感激。
答案 0 :(得分:1)
您可以checksum
可以计算每列的不区分顺序的校验和。再次使用UNNEST
+ checksum
,您可以将此列级校验和合并为单个表级校验和。
工作示例:
presto> with column_checksums as (
-> select array[
-> checksum(nationkey),
-> checksum(name),
-> checksum(regionkey) ] checksums
-> from tpch.tiny.nation
-> )
-> select checksum(cs) as table_checksum
-> from column_checksums
-> cross join unnest(column_checksums.checksums) as x(cs);
table_checksum
-------------------------
64 ce 66 7a 9a 78 9a 7b
(1 row)