- カテゴリ:
集計関数 (Frequency Estimation) , ウィンドウ関数の構文と使用法
APPROX_TOP_K_COMBINE¶
入力状態を単一の出力状態に結合(マージ)します。
これにより、 APPROX_TOP_K_ACCUMULATE が同じテーブルの水平パーティションで実行され、各テーブルパーティションのアルゴリズム状態が生成されるシナリオが可能になります。その後、これらの状態を APPROX_TOP_K_COMBINE を使用して結合し、テーブル全体で APPROX_TOP_K_ACCUMULATE を1回実行するのと同じ出力状態を生成できます。
- こちらもご参照ください。
構文¶
引数¶
stateAPPROX_TOP_K_ACCUMULATE の呼び出しによって生成された状態情報を含む式です。
countersこれは、推定プロセス中に一度に追跡できる個別の値の最大数です。例えば、
countersが100000に設定されている場合、アルゴリズムは100,000の異なる値を追跡し、100,000の最も頻繁な値を維持しようとします。countersの最大数は100000(100,000)です。
戻り値¶
これは、Top K計算の「状態」に関する情報を返します。
This state information is not usually useful by itself, but can be passed to the function APPROX_TOP_K_ESTIMATE.
使用上の注意¶
countersが定義されている場合、出力状態は指定された数のカウンターを使用します。countersが定義されていない場合、すべての入力状態には同じ数のカウンターが必要です。
10進浮動小数点( DECFLOAT )の値はサポートされていません。
例¶
This example shows how to use the three related functions APPROX_TOP_K_ACCUMULATE, APPROX_TOP_K_ESTIMATE, and APPROX_TOP_K_COMBINE.
注釈
この例では、一貫した結果を得るために、個別のデータ値よりも多くのカウンターを使用します。実際のアプリケーションでは、通常、個別の値の数はカウンターの数よりも多いため、近似値はさまざまです。
この例では、値が1~8の8行のテーブルと、値が5~12の8行のテーブルを1つ生成します。したがって、2つのテーブルの和集合で最も頻繁に使用される値は値5~8であり、それぞれの値は2のカウントです。
簡単なテーブルとデータを作成します。
Create a table that contains the "state" that represents the current
approximate Top K information for the table named sequence_demo:
Now create a second table and add data. (In a more realistic situation, the user could have loaded more data into the first table and divided the data into non-overlapping sets based on the time that the data was loaded.)
新しいデータのみの「状態」情報を取得します。
行の2つのバッチの「状態」情報を結合します。
行の結合セットの近似Top K値を取得します。