0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Xplenty中級編 Part2: System変数または事前定義済み変数について

0
Last updated at Posted at 2020-06-09

今回はシステム変数(System Variables)について紹介したいと思います。

システム変数を変更するメリット

システム変数を使うことにより、リトライ回数や同時実行数などあらかじめ定められている上限をジョブの特性に合わせて変更することが可能です。

システム変数はどこで設定する?

変数画面の左側で「User」から「System」に切り替えることで設定画面を切り替えることが可能です。
intermediate02_01.png

システム変数一覧

注意点
以下の表および説明については、2026年1月時点の情報を元に作成しています。
更新される可能性があるため、最新の情報はこちらのヘルプを参照ください。

System Variables 説明 デフォルト値 単位 MB換算
_MAX_COMBINED_SPLIT_SIZE 1 つのタスクで処理するデータ量をバイト単位で指定します。小さいファイルは、このサイズに達するまで結合されます。それより大きなファイルは、圧縮されていない場合、もしくはBzip2 を使用して圧縮されている場合ともに設定されたサイズに基づき分割されます。 67,108,864 バイト 64
_BYTES_PER_REDUCER 1レコードで読み取れる文字列サイズ(バイト単位)。それより大きいサイズのレコードは無視されます。 209,715,200 バイト 200
_LINE_RECORD_READER_MAX_LENGTH
ファイルから読み取る際の1行の最大バイト長。この値より長い行は破棄されます。
1,048,576 バイト 1
_DEFAULT_TIMEZONE DateTime FieldでTimezone指定がないものに対してTimezoneを自動追加する際のTimezone。デフォルトはUTC。 +00:00'
_DEFAULT_PARALLELISM パッケージで使用する並列リデュースタスクのデフォルト数を設定します。一般的に言って、Reducerの数はデータのサイズとディストリビューションに依存します。データが比較的大きいが偏っている場合(たとえば、フィールドで集計する場合、ほとんどのレコードは1つのグループに分類されます)、Reducerを追加してもパフォーマンスにプラスの影響はありません。デフォルト値は0です。これは、Reducerの数が_BYTES_PER_REDUCERによって計算されていることを意味します。 0
_SHUFFLE_INPUT_BUFFER_PERCENT シャッフル中(MapperのアウトプットをReducerへ渡す処理)に最大ヒープサイズからMapアウトプットの保存に割り当てられるメモリの割合。 70%
_COPY_PARALLELISM コピー前処理アクションで使用されるプロセスの数を制御します 0
_COPY_TARGET_PARTITIONS コピー前処理アクションによってデータが分割されるパーティションの数を制御します。この変数の値を0に設定すると、プロセスはファイルをマージしません。 100
_COPY_TARGET_SIZE コピー前処理アクションによって連結されたファイルについてパーティション内の1ファイルあたりの最大サイズを制御します。 64
_PARQUET_COMPRESSION 保存時にApache Parquetを利用する場合の圧縮タイプ。使用可能な値は次のとおりです。UNCOMPRESSED、GZIP、SNAPPY。
_PARQUET_PAGE_SIZE Apache Parquet圧縮用のページサイズ 1 * 1024 * 1024 1
_PARQUET_BLOCK_SIZE Apache Parquetのメモリにバッファされるrow groupのサイズ。
*Apache parquetのドキュメントによると大きいrow groups (512MB - 1GB)を推奨しています
https://parquet.apache.org/documentation/latest/
128 * 1024 * 1024 バイト 128
_GA_API_REQUEST_READ_TIMEOUT Google Analyticsのリクエストタイムアウト 30 * 1000 ミリ秒
_GA_API_REQUEST_MAX_RESULTS Google Analyticsのレスポンスに含めることができる行の最大数。(指定できるMaxは10000) 10,000
_GA_API_MAX_INPUT_SPLITS Google Analyticsに対して同時実行できるリクエストの最大数 10
_GA_API_SKIP_BAD_PROFILES Google AnalyticsのプロファイルIDにアクセスできないものが含まれている場合にパッケージ実行を正常に完了する場合には、trueに設定します。 FALSE
_ADWORDS_API_REQUEST_READ_TIMEOUT Google Adwordsへのリクエストのタイムアウト 180 * 1000 ミリ秒
_ADWORDS_API_MAX_INPUT_SPLITS Google Adwordsに対して同時実行できるリクエストの最大数 -1
_CACHED_BAG_MEMORY_PERCENT Map もしくは Reduceタスクのすべてのバッグ(データを処理する際、1つもしくは複数のフィールドをグループ化したもの=つまり処理対象のデータのことです)に割り当てられるヒープの割合。こちらで設定した値がいっぱいになると、データがディスクに流出します。値を大きくすると、ディスクへの流出が減りますが、ヒープメモリが不足する可能性が高くなります。 0.2 20%
_MAP_MAX_ATTEMPTS Mapタスクについて失敗で完了する前に何回リトライを行うか? 3
_REDUCER_MAX_ATTEMPTS Reduceタスクについて失敗で完了する前に何回リトライを行うか? 3
_MAP_MAX_FAILURES_PERCENT ジョブが失敗で完了となる前に失敗できるMapタスクの最大パーセンテージを制御します。値の範囲は0〜100です。 0
_REDUCER_MAX_FAILURES_PERCENT ジョブが失敗で完了となる前に失敗できるReduceタスクの最大パーセンテージを制御します。値の範囲は0〜100です。 0
_MAP_TASK_TIMEOUT タスクの応答がない場合にどれくらい待ってそのタスクをKillするのかをミリ秒単位で設定します。 600 * 1000 ミリ秒
_BQ_READER_POLL_RETRIES Google BigQueryからのデータエクスポートをポーリングする際のリトライ回数を制御します。 60 回数
_BQ_READER_POLL_INTERVAL Google BigQueryからのデータエクスポートをポーリングする際のリトライの間隔時間をミリ秒単位で制御します。 10,000 ミリ秒
_BQ_READER_MAX_SHARDS Shardされたテーブルを読み込む際の最大数 500
_JDBC_SPLIT_QUERY_RETRIES データベースがソースの場合の並列クエリでキーの最小値と最大値を取得するためのリトライ回数。 3
_JDBC_SPLIT_QUERY_RETRIES_INTERVAL_IN_SEC データベースソースの並列クエリでキーの最小値と最大値を取得するためのリトライの間隔。 30
_SQL_COMMAND_TIMEOUT_IN_SEC SQL実行時のタイムアウト。デフォルトはタイムアウトなしです。 -1
_INTERMEDIATE_COMPRESSION 結果に対して圧縮するかどうかです。デフォルトは圧縮なしです。 FALSE
_SPANNER_MAX_WORKERS Google Cloud Spanner がクエリを分散処理する場合の最大Worker数 2
_SPANNER_BATCH_SIZE Google Spannerにロードする際の1トランザクションあたりのバッチサイズ(行数)。デフォルトは100です。 100
_FS_SFTP_MAX_RETRIES SFTPでファイルやディレクトリを検索時のリトライ回数です。デフォルトは5です. 5
_FS_SFTP_RETRY_SLEEP SFTPでファイルやディレクトリを検索時のリトライの間隔(ミリ秒)です。デフォルトは500です. 500 ミリ秒
_FS_SFTP_BLOCK_SIZE タスクがSFTPから読み取るブロックのサイズを決定します。大きなファイルを読み取るときにデフォルトより大きい値に変更します。 64 * 1024 * 1024 バイト 64
_FACEBOOK_ADS_INSIGHTS_SLEEP Facebook Ads Insightsレポート取得時のリトライの間隔(ミリ秒)。デフォルトは0です。 0
_FB_ASYNC_REPORT_TIMEOUT Facebook Ads Insightsレポートの非同期リクエストのリクエストタイムアウト(試行ごと)。この値を超えると、試行は失敗します(デフォルト-タイムアウトなし)。 -1
_HTTP_FOLLOW_REDIRECTS REST APIソースやCurlコマンドを利用したFunctionがリダイレクトされたステータスコードに従わないようにする場合は、falseに設定します。 TRUE
_HTTP_REQUEST_MAX_RETRIES 例外エラーになる前にHTTPレスポンスコード429または5xxを受信したときに試行されるREST APIソースまたは* Curl *関数のリトライ回数。 8
_SYNC_WAIT_TIME Amazon RedshiftをDestinationとするデータをステージングしてからRedshiftクラスターでCOPYを実行するまでに待機する時間(秒単位) 1
_XPATH_IGNORE_ERRORS XMLのXpathエラー無視するかどうか。デフォルトは無視しない。 FALSE
_FS_IGNORE_MISSING_INPUT_EXCEPTIONS ソースパス(ファイルストレージソースコンポーネントを含む)で入力ファイルが見つからない場合にパッケージを正常に完了するには、trueに設定します。 FALSE
_ADWORDS_API_SKIP_BAD_ACCOUNTS AdWordsのAccount IDにアクセスできないものが含まれている場合にパッケージを正常に完了するには、trueに設定します(Google Adwordsソースコンポーネントを使用)。 FALSE
_BQ_READER_MAX_SHARDS Google BigQueryが「Exporting to multiple wildcard URIs....」のエラーを返す場合に1に設定。 500
_BQ_DATE_DATATYPE Google BigQueryの日付データ型を設定します。 'TIMESTAMP'
_BQ_STAGING_TABLE_EXPIRY Google BigQueryステージングテーブルの有効期限を設定します。 24 * 60 * 60 * 1000
_GA4_API_REQUEST_MAX_RESULTS Google Analytics(GA4)ソースコンポーネントの1ページあたりの最大結果数。 1000 ミリ秒
_GA4_API_REQUEST_MAX_ATTEMPTS GA4 APIへのリクエスト試行時の最大試行回数。 3 回数
_GA4_API_MAX_INPUT_SPLITS Google Analytics 4の同時リクエスト最大数。 8
_HUBSPOT_API_REQUEST_MAX_RETRIES レート制限関連のエラーを受信した際にHubspot APIが試行する再試行回数。 5 回数
_SALESFORCE_API_REQUEST_MAX_RETRIES リクエスト制限関連のエラーを受信した際の Salesforce API 再試行回数。 5 回数
_TIMEOUT_IN_SECONDS ジョブが停止されるまでの秒数。ジョブの実行時間が長すぎる場合に自動的に停止できます。デフォルトではタイムアウトは設定されていません(ジョブは無期限に実行されます)。これはアカウントレベルでも設定可能で、すべてのパッケージに適用されます。アカウントレベルでの設定をご希望の場合はお問い合わせください。 0 ミリ秒

MapperとReducerの再試行回数の制御について

_MAP_MAX_ATTEMPTS:

データソースからデータを取得する際の再試行回数を定義する _MAP_MAX_ATTEMPTS の制御対象については、制限があります。以下はスコープ対象外となりますのでご注意ください。

_MAP_MAX_ATTEMPTS再実行対象外となるデータソース:

  • JDBC(データベース) リトライ回数は_JDBC_SPLIT_QUERY_RETRIESで指定可能です。*デフォルトの再施行回数は3回です。
  • SFTP リトライ回数は_FS_SFTP_MAX_RETRIESで指定可能です。*デフォルトの再施行回数は5回です。

_REDUCE_MAX_ATTEMPTS:

  • _REDUCE_MAX_ATTEMPTS で再試行回数を制御できるのはCurl関数を使用したリクエストなどHTTPリクエスト(POST)でデータを更新するような場合です。

事前定義変数一覧(Pre-Defined variables)

こちらの変数は、パッケージがジョブとして実行時にPackage Variablesに自動的に設定される変数です。Selectコンポーネント等で使うと実行時の情報収集が可能になります。
intermediate02_02.png

Pre-Defined Variables 説明
_CLUSTER_ID_S3_ESCAPED ジョブが実行されているクラスターID(S3向け)。
_CLUSTER_ID ジョブが実行されているクラスターのID。
_CLUSTER_NODES_COUNT ジョブを実行するクラスター内のノード数。
_JOB_ID Integrate.io ETLジョブ識別子。ワークフロー内から実行されるタスクの場合、JOB_IDの形式はNNNNNN_component_abcdefとなります。
_JOB_ID_S3_ESCAPED ntegrate.io ETLジョブ識別子(S3向け)
_JOB_SUBMISSION_TIMESTAMP ジョブがUTCで送信された時刻のISO-8601日付時刻値。例:2013-04-22T14:18:17Z
_JOB_SUBMISSION_TIMESTAMP_S3_ESCAPED ジョブがUTCで送信された時刻のS3エスケープ日付時刻値。(S3向け)例:2013-01-09T14-52-21Z
_JOB_SUBMITTER_EMAIL ジョブを送信したユーザーのメールアドレス。例: helpdesk@integrate.io ETL.com
_JOB_SUBMITTER_EMAIL_S3_ESCAPED ジョブを送信したユーザーメールアドレス。(S3向け)例: helpdesk-integrate.io ETL-com
_PACKAGE_OWNER_EMAIL パッケージを所有するユーザーのメールアドレス。
_PACKAGE_OWNER_EMAIL_S3_ESCAPED パッケージ所有者のメールアドレス。(S3向け)
_ACCOUNT_ID パッケージとジョブが作成されたアカウントの内部ID。
_ACCOUNT_ID_S3_ESCAPED パッケージとジョブが作成されたアカウント内部ID。(S3向け)
_ACCOUNT_NAME パッケージとジョブが作成されたアカウント名。
_ACCOUNT_NAME_S3_ESCAPED パッケージとジョブが作成されたアカウント名。(S3向け)
_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP 同じパッケージに対する最後の正常なジョブのタイムスタンプ(UTC、ISO-8601日時形式)。この変数は、増分ロードにおいて前回実行されたジョブよりも新しいデータを読み取るために使用できます。
_WORKFLOW_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP UTCにおける同一ワークフローの最終成功ジョブのタイムスタンプ(ISO-8601日付時刻形式)。この変数は、増分ロードにおいて前回実行ジョブより新しいデータを読み取るために使用できます。
_PARENT_JOB_ID 親ジョブ(現在のタスクを実行中のワークフロージョブ)のIntegrate.io ETLジョブ識別子。
_PARENT_JOB_ID_S3_ESCAPED 親ジョブのIntegrate.io ETLジョブ識別子(S3向け)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?