【问题标题】:Get checksum (cityHash64) of first n rows of ClickHouse table获取 ClickHouse 表前 n 行的校验和(cityHash64)
【发布时间】:2021-08-06 20:45:09
【问题描述】:

根据https://clickhouse.tech/docs/en/sql-reference/functions/hash-functions/, 我可以通过这种方式获得整个表的校验和:

SELECT groupBitXor(cityHash64(*)) FROM table

获取表的前 N ​​行校验和的最准确方法是什么?

例如,我正在使用带有 GenerateRandom 引擎的表,如 here 所述。

CREATE TABLE test (name String, value UInt32) ENGINE = GenerateRandom(1, 5, 3)

我尝试使用 LIMIT 子句,但还没有成功。

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    考虑使用子查询:

    SELECT groupBitXor(cityHash64(*)) 
    FROM (
      SELECT *
      FROM table
      LIMIT x)
    

    SELECT groupBitXor(cityHash64(*))
    FROM 
    (
        SELECT *
        FROM system.numbers
        LIMIT 10
    )
    
    /*
    ┌─groupBitXor(cityHash64(number))─┐
    │             9791317254842948406 │
    └─────────────────────────────────┘
    */
    

    【讨论】:

      猜你喜欢
      • 2015-08-25
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-27
      相关资源
      最近更新 更多