ウィンドウ関数 - ランク
このオペレーターは、ウィンドウ化されたパーティションに関連した各行のランクを返します。
情報一覧
|
パラメーター |
説明 |
|---|---|
| カテゴリー | トランスフォーム |
| データ ソース タイプ | TIBCO® Data Virtualization |
| 出力を他のオペレーターに送信 | はい |
| データ処理ツール | TIBCO® DV, Apache Spark 3.2 以降 |
アルゴリズム
ウィンドウ関数 - ランク オペレーターは、rank、dense_rank、累積分布、ntile (n は分位の数) 関数に対応しています。このオペレーターの中核となる概念は、定義されたグルーピングまたはパーティションに対する各行の順位または順序を計算することです。使用例としては、一意の顧客を含むデータセット内で、個々の顧客のトランザクションをランク付けすることが挙げられます。この例では、パーティショニング、またはグルーピングは、顧客 ID であり、ランク付けや順序付けを行うデータはトランザクションの金額である。各パーティションまたは顧客 ID 内のトランザクションは、最高値の 1 から順番にランク付けされます。
このオペレーターを使用すると、Spark SQL を利用してデータベースのようなウィンドウ関数を計算できます。Spark SQL でウィンドウ関数がどのように実装されるかについて詳しく知るには。
ウィンドウ関数は、フレームと呼ばれるユーザー定義の行の特定のグループに基づいて、入力のすべての入力行の戻り値を計算します。すべての入力行には、それに関連付けられた一意のフレームがあります。
入力
入力は単一の表形式のデータセットです。数値集計を計算し、カラムによるパーティション分割と任意のタイプのカラムによる順序付けを含む、いくつかの数値カラムが必要です。
制限事項
ワイド データ: このオペレーターは長いデータに対しては高速に動作しますが、ウィンドウ関数が数千のカラムに対して計算されるとパフォーマンスが大幅に低下する可能性があります。Spark のエグゼキューター メモリを増やすと、パフォーマンスが向上する可能性があります。
日時カラム: 入力日時カラムは、入力で指定された形式 (たとえば、日時 'MM/dd/yy') である必要があります。それ以外の場合、オペレーターはカラム全体に Null 値を返します。
構成
次の表に、ウィンドウ関数 - ランク オペレーターの構成の詳細を示します。
| パラメーター | 説明 |
|---|---|
| ノート | このオペレーターのパラメーター設定に関するメモまたは役立つ情報。 [ノート] フィールドに内容を入力すると、オペレーターに黄色のアスタリスクが表示されます。 |
| パーティション・バイ | パーティション化するカラムを指定します。 [カラムの選択] をクリックして、必要なカラムを選択します。 |
| オーダー・バイ | 各パーティションの順序付けに使用するカラムを指定します (すべてのデータ タイプがサポートされています)。 |
| オーダー | 選択した オーダー・バイ カラムのオーダー タイプを指定します。 |
| 行番号の計算 | 行番号関数が順序付けされたパーティション内で 1 から始まる連続した (そして一意の) 番号を返すかどうかを指定します。 |
| ランクの計算 | ランク関数が順序付けされたパーティション内で 1 から始まる連続番号を返すかどうかを指定します。 |
| 密ランクの計算 | 密ランク関数が順序付けされたパーティション内で 1 から始まる連続番号を返すかどうかを指定します。 ノート: ランクと密ランクの違いは、密ランクでは同点の場合でもランキング順序にギャップが残らないことです (たとえば、3 つの値が 2 位で同点の場合、3 つすべての密ランクは 2 になり、次の値は密ランクになります)3)の。 |
| 累積分布の計算 | 関数が順序付けされたウィンドウ パーティション内の値の累積分布を返すかどうかを指定します。つまり、現在の行の下にある行の一部です。 N = パーティション内の行の合計数、V = x より前の (および x を含む) 値の数の場合、方程式は CUME_DIST(X)=V/N となります。 |
| 分位数の計算 | [はい] の場合、順序付けされたウィンドウ パーティション内の n タイル グループ ID (1 から 分位数 まで) を返します (SQL の NTILE 関数に相当)。 たとえば、n = 4 (分位数) の場合、行の最初の四半期の値は 1、第 2 四半期の値は 2、第 3 四半期の値は 3、最後の四半期の値は 4 になります。 ノート: [はい] を選択した場合は、[分位数] に整数値を指定する必要があります。 |
| 分位数 | 分位数の計算 が [はい] に設定されている場合は、順序付けされたウィンドウ パーティションごとに返す分位数を指定します。値は 0 より大きい整数である必要があります。 |
| 保持するカラム | 出力に保持するカラムを指定します。 [カラムの選択] をクリックして、必要なカラムを選択します。 |
| 出力スキーマ | 出力テーブルまたはビューのスキーマを指定します。 |
| 出力テーブル | 結果の出力が生成されるテーブルのパスと名前を指定します。デフォルトでは、これはユーザー ID、ワークフロー ID、およびオペレーターに基づく一意のテーブル名です。 |
| 結果の保存 | [はい] に設定すると、オペレーターは結果を保存します。 [いいえ] に設定すると、オペレーターは結果を保存しません。 |
出力
-
出力: データセットの出力を表示するテーブル。
-
サマリー: 入力パラメータ、その現在の設定、および Null データにより削除された行数のサマリーに関する情報が表示されます。
例
次の例は、ウィンドウ関数 - ランク オペレーターを示しています。
- 複数のカラム、ここでは、天気概況、気温、風、湿度、プレー。
- 複数行 (14 行)。
-
パーティション: 再生
-
オーダー方法: 温度
-
順序: 昇順
-
行番号を計算: はい
-
ランクの計算: はい
-
密ランクの計算: はい
-
累積分布の計算: はい
-
分位数の計算: はい
-
分位数: 2
-
保持するカラム: 天気概況、気温、湿度、風、プレー
-
結果を保存: はい