グローバルに事業を展開する企業では、異なるタイムゾーン間でビジネス活動を調整し、データを処理する必要が頻繁にあります。異なるリージョンにある DataWorks ワークスペースのスケジューリング時間を、UTC+0 や UTC+8 などの単一のタイムゾーンに標準化できます。DataWorks では、スケジューリングタイムゾーンをリージョンのデフォルトから特定のタイムゾーンに変更できます。このトピックでは、タイムゾーンの変更方法と、この変更がスケジュールされたタスクや構成に与える影響について説明します。タイムゾーンを変更する前に、ビジネスへのリスクを評価する必要があります。タイムゾーンを変更することで、スケジューリングロジックを統一し、競合やデータエラーを回避できます。
スケジューリングタイムゾーンの変更をサポートするリージョン
デフォルトでは、DataWorks ワークスペースのスケジューリングタイムゾーンは、ワークスペースが存在するリージョンのタイムゾーンです。このタイムゾーンは、タスクの時間指定スケジューリングに使用されます。DataWorks では、一部のリージョンでスケジューリングタイムゾーンを変更できます。次の表に、この変更をサポートするリージョンと、切り替え可能なタイムゾーンを示します。
タイムゾーン切り替えをサポートするリージョン | UTC+0 への切り替え | UTC+8 への切り替え |
米国 (シリコンバレー) | サポート済み | サポート済み |
米国 (バージニア) | サポート済み | サポート済み |
ドイツ (フランクフルト) | サポート済み | サポート済み |
シンガポール | サポート済み | サポート済み (ローカルタイムゾーンと同じ) |
中国 (香港) | サポート済み | サポート済み (ローカルタイムゾーンと同じ) |
日本 (東京) | サポート済み | サポート |
たとえば、米国 (シリコンバレー) リージョンの DataWorks ワークスペースでは、スケジューリングタイムゾーンをローカルのデフォルトタイムゾーンから UTC+0 タイムゾーンまたは UTC+8 タイムゾーンに切り替えることができます。タイムゾーンを切り替えた後、[オペレーションセンター] の上部にある通知バー、またはデータ開発ノードの で、タイムゾーンが切り替えられたことを確認できます。
(必須) スケジューリングタイムゾーン変更時の注意事項
タイムゾーンの変更によってビジネスにエラーや予期しない結果が生じるのを防ぐため、スケジューリングタイムゾーンを変更する前に、以下の情報をよくお読みください。
カテゴリ | 説明 |
影響を受けるワークスペースの範囲 | スケジューリングタイムゾーンはリージョンレベルの設定です。スケジューリングタイムゾーンの変更は、リージョン内のすべてのワークスペースに適用されます。 |
元に戻せない操作 | スケジューリングタイムゾーンを変更すると、再度変更することはできません。注意して進めてください。 重要 この操作には、既存のノードやインスタンスを含む既存データの移行が含まれます。これはビジネスに影響を与える可能性があります。続行する前に、影響を慎重に評価してください。 |
影響を受ける構成の範囲 | スケジューリングタイムゾーンを変更すると、関連する DataWorks の構成とコードパラメーターの置き換えに影響します。スケジューリングパラメーターは、タスクのスケジュールされた時間とデータタイムスタンプに基づいて計算されます。これらの値は、スケジューリングシナリオでコードの入力パラメーターとして使用されます。
重要
|
(重要) タイムゾーン変更による製品側の影響
スケジューリングタイムゾーンを変更すると、DataWorks の構成、スケジューリングシナリオでのパラメーターの置換、および一部のモジュールでの時間表示に影響します。以下のセクションでは、これらの影響について説明します。
スケジューリングタイムゾーンの変更は、スケジューリングシナリオにのみ影響します。DataStudio のほとんどの操作は、スケジューリング環境では実行されません。DataStudio でタスクを実行すると、時間パラメーターはデフォルトでローカルタイムゾーンに基づいて置き換えられます。たとえば、DataStudio でのシングルノードの実行、パラメーター付きノードの実行、アドホッククエリの実行などの操作は、タイムゾーンの変更の影響を受けません。
DataStudio でのワークフローの実行や開発環境でのスモークテストの実行などの操作は、スケジューリングシステムを使用します。したがって、ノードコード内の時間パラメーターはタイムゾーンの変更の影響を受けます。
影響 1: ノードのスケジューリング時間
ノードのスケジュールされた時間は、新しいスケジューリングタイムゾーンに基づいて変更されます。
影響 2: ノードの時間パラメーター構成
ノードのスケジューリングパラメーターは、スケジュールされた時間やデータタイムスタンプなどの時間関連情報を使用して、コード内の変数を置き換えます。これらの値は、新しいスケジューリングタイムゾーンに基づいて変更されます。
YYYYMMDD=${yyyymmdd} LAST_2D=${yyyymmdd-2}
影響 3: ノードコード内の時間関連の処理ロジック
コード内の一部の変数はゲートウェイによって解析され、その他はコンピュートエンジンによって解析されます。解析ロジックは次のとおりです。
ゲートウェイによって解析される変数は、新しいスケジューリングタイムゾーンに従って変更されます。スケジューリングシナリオで、DataWorks スクリプトタスクで直接時間を取得するコマンドを実行すると、システムはスケジューリングタイムゾーンに基づいた時間を返します。たとえば、これは Shell ノードで date コマンドを実行する場合に適用されます。データ開発で一時的にタスクを実行することは、スケジューリングシナリオではありません。
基盤となるコンピュートエンジンによって解析される変数については、そのエンジンのタイムゾーン変換ルールをご参照ください。詳細については、特定のエンジンのドキュメントをご参照ください。
次の図に例を示します。スケジューリングシナリオでは、コード内の時間変数は、スケジュールされた時間に基づいて特定の時間文字列に置き換えられます。この文字列はその後 Hive に送信されます。表現される時間は、Hive サーバー上の解析ロジックによって制限されます。
影響 4: ベースラインまたはアラートの時間
ベースラインまたはアラートの時間は、新しいスケジューリングタイムゾーンに基づいて変更されます。
影響 5: API の時間
API の時間は、新しいスケジューリングタイムゾーンに基づいて変更されます。
影響 6: 基盤となるエンジンのタイムゾーン
Data Integration や MaxCompute などの基盤となるエンジンのタイムゾーンは、エンジン自体によって設定され、DataWorks のスケジューリングタイムゾーンとは独立しています。スケジューリングパラメーターの置換値は、文字列としてエンジンに送信されます。エンジンは独自のルールに従ってそれらを処理します。エンジンの処理ソリューションについては、エンジンのタイムゾーンに関するドキュメントをご参照ください。
スケジューリングタイムゾーンの変更は、タスクスケジューリングの時間関連プロパティにのみ影響します。エンジンのタイムゾーンには影響しません。
このシナリオが Data Integration でどのように処理されるかについての詳細については、「付録: Data Integration での時間の処理」をご参照ください。
タイムゾーンの変更方法
DataWorks スケジューリングでは、ローカルタイムゾーンから別のタイムゾーンに切り替えることができます。
シナリオ 1: 新しいテナントとして最初のプロジェクトを作成する場合
タイムゾーンの変更をサポートするリージョンで最初のワークスペースを作成すると、スケジューリングタイムゾーンをローカル以外のタイムゾーンに変更するかどうかを尋ねるポップアップメッセージが表示されます。ビジネスニーズと「(必須) スケジューリングタイムゾーン変更時の注意事項」の情報に基づいて、タイムゾーンを変更するかどうかを決定できます。タイムゾーンを変更するには、チケットを送信してテクニカルサポートにお問い合わせください。
シナリオ 2: テナントアカウントにすでにプロジェクトがある場合
タイムゾーンの変更をサポートするリージョンにすでにワークスペースがある場合、そのリージョン内のすべてのワークスペースのスケジューリングタイムゾーンを変更することもできます。そのためには、チケットを送信してテクニカルサポートにお問い合わせください。このプロセスには、既存のノードとインスタンスの移行が含まれ、ビジネスに影響を与える可能性があります。続行する前に影響を評価する必要があります。変更プロセスには、次のステップが含まれます。
お客様側: 既存データへの影響を評価します。
プラットフォーム側: 既存データを移行します。
プラットフォーム側: 新しいタイムゾーンを設定します。
お客様側: 既存データを復元し、新しいタイムゾーンを検証します。
各タスクタイプを複数回テストして、正しく実行されることを確認する必要があります。
タイムゾーンの変更が成功したかどうかの確認
タイムゾーンが変更された後、データ開発のノード編集ページの [スケジュール] タブ (これは新しいワークフロー UI のノードには適用されません) と [オペレーションセンター] ページの 2 か所で、新しいタイムゾーンが有効になっていることを確認できます。
方法 1: [スケジュール] タブで確認する

DataStudio ページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発へ移動] をクリックします。
データ開発で、既存のノードをクリックするか、新しいノードを作成してノード編集ページに移動します。
ノード編集ページで、 タブをクリックし、新しいタイムゾーンが有効になっていることを確認します。
方法 2: オペレーションセンターで確認する
DataWorks コンソールにログインします。ターゲットリージョンに切り替えます。左側のナビゲーションウィンドウで、 を選択します。ドロップダウンリストからワークスペースを選択し、[オペレーションセンターへ移動] をクリックします。現在のタイムゾーンは、ページ上部の通知バーに表示されます。

付録: Data Integration での時間の処理
Data Integration のタイムゾーンは、DataWorks のスケジューリングタイムゾーンとは独立しています。スケジューリングパラメーターの置換値は、文字列として Data Integration に送信されます。たとえば、where 句のデータフィルタリング条件 gmt_modify >= ${yyyymmdd} を考えてみましょう。この SQL フィルターは、文字列リテラルとしてデータソースに送信されます。実際のフィルタリング結果は、データソースのタイムゾーン処理メカニズムに依存します。
Data Integration の同期プロセスのタイムゾーンは、DataWorks ワークスペースが存在するリージョンのローカルタイムゾーンです。このプロセス時間は、DataWorks のスケジューリングタイムゾーンによって変更されません。一部のデータソースでは、データ同期が同期プロセスのタイムゾーンに関連していることに注意してください。