UserEngagement_logoUserEngagement_logoUserEngagement_logoUserEngagement_logo
  • 記事を探す
    • ロール別ガイド
      • 管理者向け
      • マーケター向け
      • エンジニア向け
    • 用途から探す
      • 業務効率化・自動化
      • 新規顧客獲得
      • 既存顧客LTV向上
      • 企業DXの推進
    • 機能から探す
      • 顧客データ活用・施策連携
      • セキュリティ
      • データ加工、処理
      • データの可視化
      • 全機能をみる
    • 活用事例を探す
    • 全記事から探す
  • LINK
    • リリースノート
    • プロダクトドキュメント
    • Status Page(Incident情報)
    • Workflowサンプル集(英語)-TreasureBox
  • Academy
ログイン
✕

Prestoのresult_output_redirect オプションについて

  • Home
  • 表示用 Data Management(ガイドページ表示用)
  • Prestoのresult_output_redirect オプションについて
Home Article howto Prestoのresult_output_redirect オプションについて
2021年11月17日
Categories
  • Data Management(ガイドページ表示用)
  • howto
  • SQL(ガイドページ表示用)
Tags
  • Data Management
  • SQL

データマネジメントチームの日下部 佑起です。
本記事では、Treasure DataのPrestoでのオプションで提供しておりましたresult_output_redirectのオプションについて変更がありましたので、紹介をしていきます。

目次
  1. result_output_redirectについて
  2. result_output_redirectの常時有効化について
  3. result_output_redirectが使用できない場合について
  4. result_output_redirectを無効化する場合
続きは会員登録およびログイン後にご覧いただけます。以下からログインしてください。

会員登録・ログイン

result_output_redirectについて

Prestoクエリの結果データサイズが大きくなる場合に、パフォーマンスの向上やクエリ結果サイズ上限エラー回避のためのワークアラウンドとしてresult_output_redirectをマジックコメントで記載するオプションを提供しておりました。

result_output_redirectの仕様

result_output_redirectの仕様についてはこちらのドキュメントをご確認ください。

どのようなPrestoクエリに効果的か以下に記載致します。

  • SELECT * FROM table のようなシンプルなクエリを巨大なテーブルに実行した場合に特に効果が出やすい

ただ、上記のようなシンプルなクエリーは推奨していないため、以下の弊社ブログの「SQLパフォーマンスチューニングのいろは」をご確認いただき、遅いクエリの場合はチューニングをすることをおすすめ致します。

特にSELECT * FROM tableはすべてのカラムとすべての行を取得するクエリですので、テーブルに何が入っているか確認する際はLIMIT 100などLIMIT句を最後につけて、行数を少なくして実行することを強く推奨しております。

result_output_redirectの常時有効化について

これまではクエリ実行者がマジックコメントで記載することで有効化されておりましたが、この機能をデフォルトですべてのPrestoクエリに対して有効化することとなりました。

常時有効化とした理由について

多くのPrestoクエリにおいてパフォーマンスの向上に効果があり、処理効率の改善に伴うPrestoクラスタの安定化にも効果があると判断し、有効化することとなりました。内部のテスト環境ではPrestoクエリの中で100MB以上のクエリに対して、95%にパフォーマンス向上効果が見られました。本番環境に置きましては、Presto クエリの 20% が result_output_redirect を使用することで、顧客全体のクエリ処理時間が 25%~30% 短縮されました。

以下USリージョンと東京リージョンでの傾向をグラフに示しております。青い棒グラフがresult_output_redirect を使用したジョブ数となっており、黄色の折れ線グラフがクエリの実行時間となっております。result_output_redirect を使用したジョブ数が増えることで、クエリの実行時間が減っていることがわかると思います。

▼USリージョン

USリージョン

▼東京リージョン

東京リージョン

スケジュールについて

2021年11月現在においてすべての環境にて有効化となっております。

必要なアクションについて

本オプションは、Prestoクエリの結果データセットの生成プロセスを簡略化するものであり、クエリ結果自体に変更や影響のあるものではありません。そのため、お客様の方で必要なアクションは特にございません。

result_output_redirectが使用できない場合について

以下の条件に合致するPrestoクエリにおいてはresult_output_redirectのオプションはご利用になれません。条件に合致した場合は、result_output_redirectオプションは自動的に無効化されます。Prestoクエリがエラーになることはございません。

  • ORDER BYを含むPrestoクエリ(WINDOW関数など並び替えを伴うクエリを含む)
  • カラム名に大文字を指定されているPrestoクエリ
  • カラム名に重複があるPrestoクエリ
  • CREATE TABLE文もしくはINSERT文のPrestoクエリ

result_output_redirectを無効化する場合

ご自身でresult_output_redirectオプションを無効化されたい場合は、以下のマジックコメントをPrestoクエリに記載ください。
--set session result_output_redirect= ‘false’

result_output_redirectについてご不明点やご質問等ございましたら弊社のサポートチームまでご連絡ください。

Share
日下部 佑起
日下部 佑起

Related posts

2023年6月14日

トレジャーデータPSチームによるダッシュボード構築プロジェクト事例
~トレジャーデータ書籍Appendix~


Read more
2023年5月31日

ダッシュボードの普及と課題
~トレジャーデータ書籍出版記念!一部先行公開~


Read more
2023年4月25日

Cookieに依存せずに広告CV計測を支援する機能「Conversion API」


Read more

Comments are closed.


  • ホーム
  • 個人情報の取り扱いについて
  • 個人情報に関する公表文
  • インフォマティブデータの取扱いについて
  • 会員情報変更
  • 退会手続きはこちら
記事を探す
  • ロール別ガイド
  • 用途別ガイド
  • 機能別ガイド
  • 活用事例
  • 全記事一覧
Community
  • Treasure Academy
LINKS
  • リリースノート
  • プロダクトドキュメント
  • Status Page(Incident情報)
  • Workflowサンプル集(英語)-TreasureBox
Copyright 2022 Treasure Data, Inc.
    ログイン