MAPREDUCE服务 MRS-Set Digest函数:函数

时间:2024-11-28 20:08:09

函数

  • make_set_digest(x)→setdigest

    描述:将所有的输入值X,组合到setdigest中。

    SELECT make_set_digest(value) FROM (VALUES 1, 2, 3) T(value);
                          _col0                      
    -------------------------------------------------
     01 10 00 00 00 02 0b 03 00 80 03 44 00 00 58 3d 
     5b 80 20 08 de 00 20 00 00 03 00 00 00 a8 c0 76 
     6c a0 20 08 de 4a c4 05 fb b7 03 44 00 0c 8b 48 
     b2 39 58 3d 5b 01 00 01 00 01 00                
    (1 row)
    
    SELECT make_set_digest(value) FROM (VALUES 'Trino', 'SQL', 'on', 'everything') T(value);
                          _col0                      
    -------------------------------------------------
     01 14 00 00 00 02 0b 04 00 c0 8c 7d 1e c0 75 c9 
     2d c0 1a 1a 66 03 11 c3 a5 00 20 00 00 04 00 00 
     00 06 e5 2d 45 05 11 c3 a5 48 85 6b d5 e0 8c 7d 
     1e b9 1a 8a 39 ff 75 c9 2d 02 ad 0c 7c ed 1a 1a 
     66 01 00 01 00 01 00 01 00                      
    (1 row)
    
  • merge_set_digest(setdigest)→setdigest

    描述:返回由输入值setdigest聚合组成的setdigest。

  • cardinality(setdigest)→long

    描述:基于内部HyperLogLog组件返回setdigest的基数。

    SELECT cardinality(make_set_digest(value)) FROM (VALUES 1, 2, 2, 3, 3,4, 4, 4, 5) T(value); -- 5
  • intersection_cardinality(x,y)→long

    描述:返回两个集合摘要交集的基数估计。其中x,y都是setdigest类型。

    SELECT intersection_cardinality(make_set_digest(v1), make_set_digest(v2)) FROM (VALUES (1, 1), (NULL, 2), (2, 3), (3, 4)) T(v1, v2); -- 3
  • jaccard_index(x,y)→double

    描述:返回两个集合摘要的Jaccard索引估计值。其中x,y都是setdigest类型。

    SELECT jaccard_index(make_set_digest(v1), make_set_digest(v2)) FROM (VALUES (1, 1), (NULL,2), (2, 3), (NULL, 4)) T(v1, v2); -- 0.5
  • hash_counts(x)

    描述:返回一个包含Murmur3Hash128哈希值及其在属于x的内部MinHash结构中出现的计数的Map。其中x是setdigest类型。

    SELECT hash_counts(make_set_digest(value)) FROM (VALUES 1, 1, 1, 2, 2) T(value); -- {19144387141682250=3, -2447670524089286488=2}
support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_300220.html