22:37フォローするTD_SESSIONIZEはパフォーマンス上の懸念、ならびに一貫性の無い結果を返す可能性が存在するため、TD上のPrestoから廃止予定となっております。2016年頃からTD_SESSIONIZE_WINDOWをPrestoのウィンドウ関数として提供しております。この関数は、TD_SESSIONIZEと同じ機能であり、より高速で安定したパフォーマンスを持ち、正確な結果を返す関数です。PrestoのTD_SESSIONIZEをご利用中の場合、可能な限り早くTD_SESSIONIZE_WINDOWへの書き換えをお願いいたします。TD_SESSIONIZEとTD_SESSIONIZE_WINDOWの利用方法と書き換え方法について案内させて頂きます。背景イベントデータのセッション化は、ユーザの関連付けられた一連のイベント行を、分析のために個々のセッションにグループ化することで行います。一連のイベントが同じユーザ識別子(通常はIPアドレス、電子メール、Cookieまたは同様の識別子)に関連し、イベントが選択されたタイムアウト間隔ごとに分離され、セッションにグループ化されます。各セッションには一意のセッションIDが割り当てられます。TD_SESSIONIZE_WINDOWは、イベントデータを読み込み、イベントをユーザに関連付けられたセッションに分割し、セッションIDとして一意のUUIDを行に割り当てます。TD_SESSIONIZE_WINDOWはPrestoのウィンドウ関数として実装されているため、OVER句を使用して、TD_SESSIONIZEのようにイベントに直接渡すのではなく、イベントを集約するウィンドウを指定します。比較TD_SESSIONIZEは3つの引数を用います。sessionize_by)以下のサンプルクエリは、web_logsテーブルのページビューデータを、ページを訪問した時のパスでセッション化します。行をソートしている点にご注意ください。TD_SESSIONIZEは、セッション化される行が、セッション化するフィールドとタイムスタンプカラムで事前にソートされている必要があります。TD_SESSIONIZE_WINDOWは2つの引数を用います。秒単位のタイムアウト間隔ただし、Prestoウィンドウ関数であるため、SELECT文のOVER句にて以下の指定をする必要があります。BY句TD_SESSIONIZEと同様に、TD_SESSIONIZE_WINDOWは、セッション内の最初の行の一意なセッションID(UUID)を生成し、タイムアウト値を超える行の時間間隔になるまで、そのセッションの全ての行の値を返します。TD_SESSIONIZEからTD_SESSIONIZE_WINDOWへのクエリ書き換えは以下の通りです。BYキーには、TD_SESSIONIZEの第3引数を使用します。BYキーには、timeカラムを使用します。以下のクエリは、前のサンプルクエリと同等になります。web_logs;具体的な書き換え例としては以下の様な形になります。;このクエリが書き換えられると、次のようになります。null);FacebookTwitterLinkedInこの記事は役に立ちましたか?2人中2人がこの記事が役に立ったと言っています他にご質問がございましたら、リクエストを送信してくださいページの先頭へ戻るコメント0件のコメントログインしてコメントを残してください。