バックアップまたは使用のために Tablestore からオブジェクトストレージサービス (OSS) に増分データを定期的に同期するには、DataWorks コンソールでバッチ同期タスクを作成および設定できます。このトピックでは、DataWorks コンソールでバッチ同期タスクを使用して、Tablestore から OSS に増分データを同期する方法について説明します。
使用上の注意
この機能は、Tablestore のワイドカラムモデルと時系列モデルに適用できます。
Tablestore Stream を使用して増分データを同期する場合は、データの行全体が毎回 Tablestore に書き込まれていることを確認してください。行全体のデータ書き込みモードは、IoT データなどの時系列データに適用されます。したがって、データは書き込まれた後に変更する必要はありません。
増分データは 5 分ごとに同期され、Tablestore プラグインによって 5 分の遅延が発生する可能性があります。したがって、増分同期の合計遅延は 5 分から 10 分の範囲です。
前提条件
OSS が有効化され、OSS バケットが作成されていること。詳細については、「OSS を有効化する」と「バケットを作成する」を参照してください。
Tablestore から OSS にデータを同期するインスタンス、データテーブル、または時系列テーブルに関する情報が確認され、記録されていること。
DataWorksがアクティブ化され、ワークスペースが作成されます。詳細については、DataWorksのアクティブ化およびワークスペースの作成をご参照ください。
RAM (Resource Access Management) ユーザーが作成され、OSS ポリシーと Tablestore ポリシーが RAM ユーザーにアタッチされていること。詳細については、「RAM ユーザーを作成する」と「RAM ユーザーに権限を付与する」を参照してください。
重要Alibaba Cloud アカウントの AccessKey ペアの漏洩によるセキュリティリスクを防ぐため、RAM ユーザーの AccessKey ペアを使用することをお勧めします。
RAM ユーザーの AccessKey ペアが作成されていること。詳細については、「AccessKey ペアを作成する」を参照してください。
Tablestore データソースと OSS データソースが追加されていること。詳細については、「OSS に全データをエクスポートする」トピックの「ステップ 1: Tablestore データソースを追加する」セクションと「ステップ 2: OSS データソースを追加する」セクションを参照してください。
ステップ 1: バッチ同期ノードを作成する
DataStudio コンソールに移動します。
DataWorks コンソール にログインし、左上隅でリージョンを選択し、 を選択し、ドロップダウンリストからワークスペースを選択し、Datastudio に移動 をクリックします。
DataStudio コンソールの スケジュールされたワークフロー ページで、ビジネスフローをクリックし、ビジネスフローを選択します。
ワークフローの作成方法については、「ワークフローを作成する」を参照してください。
データ統合 ノードを右クリックし、ノードの作成 > オフライン同期 を選択します。
ノードの作成 ダイアログボックスで、パスを選択し、ノード名を入力します。
確認 をクリックします。
新しく作成されたオフライン同期ノードが データ統合 ノードの下に表示されます。
ステップ 2: バッチ同期タスクを設定して開始する
Tablestore から OSS に増分データを同期するタスクを設定するには、データストレージモデルに基づいて適切な設定方法を選択します。
ワイドカラムモデルを選択してデータテーブルを使用してデータを格納する場合、データテーブルからデータを同期する必要があります。詳細については、このトピックの「データテーブルからデータを同期するタスクを設定する」セクションを参照してください。
時系列モデルを選択して時系列テーブルを使用してデータを格納する場合、時系列テーブルからデータを同期する必要があります。詳細については、このトピックの「時系列テーブルからデータを同期するタスクを設定する」セクションを参照してください。
データテーブルからデータを同期するタスクを設定する
時系列テーブルからデータを同期するタスクを設定する
ステップ 3: スケジューリングプロパティを設定する
バッチ同期タスクのスケジューリングプロパティは、プロパティパネルで設定できます。たとえば、タスクを実行する時刻、再実行プロパティ、スケジューリングの依存関係などを設定できます。
タスク設定タブの右側ナビゲーションペインでプロパティをクリックします。
プロパティパネルのスケジューリングパラメーターセクションで、パラメーターを追加をクリックしてパラメーターを追加します。次の表にパラメーターを示します。詳細については、サポートされているスケジューリングパラメーターの形式を参照してください。
パラメーター
値
startTime
$[yyyymmddhh24-2/24]$[miss-10/24/60]
endTime
$[yyyymmddhh24-1/24]$[miss-10/24/60]
次の図は、パラメーターを設定する方法を示しています。
たとえば、2023 年 4 月 23 日 19:00:00 にタスクを実行する場合、startTime パラメーターを 20230423175000 に、endTime パラメーターを 20230423185000 に設定できます。この場合、タスクは 17:50 から 18:50 の間に生成されたデータを同期します。
スケジュールセクションで、スケジューリングプロパティを設定します。詳細については、時間プロパティの構成を参照してください。
次の図は、1 時間ごとに実行するようにスケジュールされたタスクを設定する方法を示しています。
依存関係セクションで、ルートノードを追加を選択します。システムは、現在のノードの祖先ノードに関する情報を自動的に生成します。
ルートノードを追加を選択した場合、現在のノードで実行されるタスクは、現在のノードの祖先ノードに依存しません。
設定が完了したら、プロパティパネルを閉じます。
ステップ 4: スクリプトをデバッグし、タスクをコミットする
オプション。スクリプトをデバッグします。
同期タスクが Tablestore から OSS に増分データを同期できることを確認するために、スクリプトをデバッグします。
重要スクリプトをデバッグすると、指定された時間範囲内で生成されたデータが OSS に複数回インポートされる場合があります。同じデータ行が OSS に複数回書き込まれた場合、OSS 内の関連データ行は上書きされます。
アイコンをクリックします。
パラメーター ダイアログボックスで、リソースグループを選択し、カスタムパラメーターを構成します。
カスタムパラメーター値を
yyyyMMddHHmmss
形式で指定します。例: 20230423175000。実行 をクリックします。
同期タスクをコミットします。
同期タスクがコミットされると、構成したスケジュールプロパティに基づいて同期タスクが実行されます。
アイコンをクリックします。
送信 ダイアログボックスで、ビジネス要件に基づいて変更の説明を指定します。
確認 をクリックします。
手順 5: 同期タスクの結果を表示する
タスクのステータスを表示するには、DataWorks コンソールで次の手順を実行します。
タスク構成タブの右上隅にあるオペレーションセンターをクリックします。
左側のナビゲーションペインで、[周期タスクのメンテナンス] > [周期インスタンス] を選択します。インスタンスパースペクティブタブの周期インスタンスページで、インスタンスのステータスを表示します。
タスクの結果を表示するには、OSS コンソールで次の手順を実行します。
OSS コンソールにログインします。
左側のナビゲーションペインで [バケット] をクリックします。バケットページで、データが同期されるバケットを見つけ、バケットの名前をクリックします。
オブジェクトページで、オブジェクトを選択し、オブジェクトをダウンロードして、データが想定どおりに同期されているかどうかを確認します。
FAQ
参照資料
エクスポートされた Tablestore データを含む OSS オブジェクトをローカルデバイスにダウンロードする場合は、OSS コンソールまたは ossutil を使用できます。詳細については、簡易ダウンロード を参照してください。
誤って削除したり、悪意のある改ざんによって重要なデータが使用できなくなるのを防ぐために、Cloud Backup を使用して Tablestore インスタンスのワイドテーブルのデータを定期的にバックアップし、紛失または破損したデータをできるだけ早く復元できます。詳細については、データバックアップ を参照してください。
Tablestore のホットデータとコールドデータの階層型ストレージを実装する場合、Tablestore データのフルバックアップ、および大規模なリアルタイムデータ分析を行う場合は、Tablestore のデータ配信機能を使用できます。詳細については、データ配信 を参照してください。