日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文檔

APPROX_COUNT_DISTINCT

更新時間:

本文為您介紹如何使用APPROX_COUNT_DISTINCT函數,提升作業性能。

使用限制

僅實時計算引擎VVR 3.0.0及以上版本支持APPROX_COUNT_DISTINCT函數。

背景信息

Count Distinct優化時,Aggregate節點的State需要保存所有Distinct Key信息。當Distinct Key數目過大時,State的讀寫開銷太大,因此Count Distinct優化存在性能瓶頸。但在很多場景,完全精確的統計并不那么必要。如果您希望犧牲部分精確度來換取性能上的提升,您可以使用新增的內置函數APPROX_COUNT_DISTINCT提升作業性能。APPROX_COUNT_DISTINCT支持MiniBatch或Local-Global等Aggregate上的優化,但是需要注意以下幾點:

  • 輸入不含有撤回消息。

  • Distinct Key數目需要足夠大,例如UV。如果Distinct Key數目不大,APPROX_COUNT_DISTINCT性能相對精確計算提升不大。

語法

APPROX_COUNT_DISTINCT(col [, accuracy])

入參

參數

數據類型

說明

col

任意類型

字段名稱

accuracy

FLOAT

可選,準確率,取值范圍為(0.0, 1.0),默認值為0.99,取值越高,準確率越高,state開銷越大,性能越低。

示例

  • 測試數據

    表 1. T1

    a (VARCHAR)

    b (BIGINT)

    Hi

    1

    Hi

    2

    Hi

    3

    Hi

    4

    Hi

    5

    Hi

    6

    Hello

    1

    Hello

    2

    Hello

    3

    Hello

    4

  • 測試代碼

    SELECT 
      a,
      APPROX_COUNT_DISTINCT(b) as b,
      APPROX_COUNT_DISTINCT(b, 0.9) as c
    FROM T1
    GROUP BY a;
  • 測試結果

    a (VARCHAR)

    b (BIGINT)

    c (BIGINT)

    Hi

    6

    6

    Hello

    4

    4