TROCCOでSnowflakeのデータマート定義を作成する際、SQL実行時のステートメントタイムアウト(秒)を指定することができます。
デフォルトでは43200秒(12時間)が設定されています。
この設定は、Snowflake側の STATEMENT_TIMEOUT_IN_SECONDS とは別に、TROCCO側でタイムアウト値を指定したい場合に利用します。
SnowflakeおよびTROCCOでは、以下の3種類のタイムアウト設定が関係します。
Snowflakeのユーザー/セッション/アカウントに設定されている
STATEMENT_TIMEOUT_IN_SECONDSSnowflakeのウェアハウスに設定されている
STATEMENT_TIMEOUT_IN_SECONDSTROCCOの「ステートメントタイムアウト」項目で指定した
timeoutパラメータ
優先ルールは以下の通りです。
TROCCOのステートメントタイムアウトに0以外の値を指定した場合
→ Snowflakeのユーザー/セッション/アカウントのSTATEMENT_TIMEOUT_IN_SECONDSはTROCCOの値で上書きされますTROCCOに0を指定した場合
→ Snowflakeのユーザー/セッション/アカウントの設定は上書きされません最終的に「Snowflakeのウェアハウスの設定値」と「上記で決定したステートメントタイムアウト値」のうち、より小さい値(※0を除く)が実際に適用されます。
以下の例のように動作します。
例1
Snowflake Warehouse:
STATEMENT_TIMEOUT_IN_SECONDS = 60TROCCOのステートメントタイムアウト:
3600Snowflake(ユーザー/セッション/アカウント):
14400
→ 60秒と3600秒を比較し、小さい60秒が適用されます。
例2
Snowflake Warehouse:
STATEMENT_TIMEOUT_IN_SECONDS = 14400TROCCOのステートメントタイムアウト:
0Snowflake(ユーザー/セッション/アカウント):
3600
→ TROCCOでは上書きされないため、14400秒と3600秒を比較し、小さい3600秒が適用されます。
補足
Snowflakeの各パラメータの値は以下のクエリで確認できます。
SHOW PARAMETERS LIKE 'STATEMENT_TIMEOUT_IN_SECONDS' IN WAREHOUSE ;
SHOW PARAMETERS LIKE 'STATEMENT_TIMEOUT_IN_SECONDS' IN SESSION;
SHOW PARAMETERS LIKE 'STATEMENT_TIMEOUT_IN_SECONDS' IN USER ;
SHOW PARAMETERS LIKE 'STATEMENT_TIMEOUT_IN_SECONDS' IN ACCOUNT;
コメント
0件のコメント
記事コメントは受け付けていません。