DataWorks は、Simple Log Service データソースからデータを読み取るための LogHub Reader と、Simple Log Service データソースにデータを書き込むための LogHub Writer を提供しています。このトピックでは、Simple Log Service データソースからのデータ同期、または Simple Log Service データソースへのデータ同期の機能について説明します。
制限事項
DataWorks Data Integration を使用してバッチ同期タスクを実行し、Simple Log Service にデータを書き込む場合、Simple Log Service はべき等性を保証しません。失敗したタスクを再実行すると、冗長データが生成される可能性があります。
データ型
次の表に、Simple Log Service の主要なデータ型のサポート状況を示します。
データ型 | バッチデータ読み取り用 LogHub Reader | バッチデータ書き込み用 LogHub Writer | リアルタイムデータ読み取り用 LogHub Reader |
STRING | サポートされています | サポートされています | サポートされています |
バッチデータ書き込み用 LogHub Writer
LogHub Writer は、Data Integration でサポートされているデータ型を、Simple Log Service に書き込む前に STRING に変換します。次の表に、LogHub Writer がデータ型を変換する際のデータ型のマッピングを示します。
Data Integration データ型
Simple Log Service データ型
LONG
STRING
DOUBLE
STRING
STRING
STRING
DATE
STRING
BOOLEAN
STRING
BYTES
STRING
リアルタイムデータ読み取り用 LogHub Reader
次の表に、リアルタイムデータ同期用の LogHub Reader が提供するメタデータフィールドを示します。
リアルタイムデータ同期用の LogHub Reader が提供するフィールド
データ型
説明
__time__
STRING
Simple Log Service の予約フィールドです。このフィールドは、ログが Simple Log Service に書き込まれた時刻を指定します。フィールド値は、秒単位の UNIX タイムスタンプです。
__source__
STRING
Simple Log Service の予約フィールドです。このフィールドは、ログが収集されたソースデバイスを指定します。
__topic__
STRING
Simple Log Service の予約フィールドです。このフィールドは、ログのトピックの名前を指定します。
__tag__:__receive_time__
STRING
ログがサーバーに到着した時刻です。パブリック IP アドレス記録機能を有効にすると、サーバーがログを受信したときに、このフィールドが生ログに追加されます。フィールド値は、秒単位の UNIX タイムスタンプです。
__tag__:__client_ip__
STRING
ソースデバイスのパブリック IP アドレスです。パブリック IP アドレス記録機能を有効にすると、サーバーがログを受信したときに、このフィールドが生ログに追加されます。
__tag__:__path__
STRING
Logtail によって収集されたログファイルのパスです。Logtail はこのフィールドをログに自動的に追加します。
__tag__:__hostname__
STRING
Logtail がデータを収集するデバイスのホスト名です。Logtail はこのフィールドをログに自動的に追加します。
データソースを追加する
DataWorks で同期タスクを開発する前に、データソースを追加および管理するの手順に従って、必要なデータソースを DataWorks に追加する必要があります。データソースを追加する際に、DataWorks コンソールのパラメーターのヒントを参照して、パラメーターの意味を確認できます。
データ同期タスクを開発する
同期タスクのエントリポイントと構成手順については、以下の構成ガイドを参照してください。
Simple Log Service データソースからデータを同期するデータ同期タスクを構成する場合、データソースでは、Simple Log Service のクエリ構文と SLS 処理言語 (SPL) ステートメントを使用してデータをフィルタリングできます。Simple Log Service は SPL を使用してログを処理します。詳細については、「付録 2: SPL 構文」をご参照ください。
単一テーブルのデータを同期するバッチ同期タスクを構成する
構成手順の詳細については、「コードレス UI を使用してバッチ同期タスクを構成する」および「コードエディタを使用してバッチ同期タスクを構成する」をご参照ください。
説明コードレス UI でバッチ同期タスクを構成する場合、タスクパラメーターの形式は、「付録 1: コードとパラメーター」で説明されているパラメーターの形式と同じである必要があります。
コードエディタを使用してバッチ同期タスクを構成する場合に構成されるすべてのパラメーターと実行されるコードについては、「付録 1: コードとパラメーター」をご参照ください。
単一テーブルのデータを同期するリアルタイム同期タスクを構成する
構成手順の詳細については、「単一テーブルから増分データを同期するリアルタイム同期タスクを作成する」および「DataStudio でリアルタイム同期タスクを構成する」をご参照ください。
データベース内のすべてのデータのバッチ同期、データベース内の完全データまたは増分データのリアルタイム同期、およびシャーディングデータベース内のシャーディングテーブルからのデータのリアルタイム同期を実装するための同期設定を構成する
構成手順の詳細については、「Data Integration で同期タスクを構成する」をご参照ください。
FAQ
フィールドに値が含まれている Simple Log Service データソースからデータを同期するためにバッチ同期タスクを実行したときに、データが取得されないのはなぜですか。
Simple Log Service データソースからデータを読み取るためにバッチ同期タスクを実行したときに、一部のデータが欠落するのはなぜですか。
バッチ同期タスクに構成されているフィールドマッピングに基づいて読み取られる Simple Log Service フィールドが予期したフィールドではない場合はどうすればよいですか。
詳細については、「Data Integration に関する FAQ」をご参照ください。
付録 1: コードとパラメーター
コードエディタを使用してバッチ同期タスクを構成する
コードエディタを使用してバッチ同期タスクを構成する場合は、統一スクリプト形式の要件に基づいて、スクリプトに関連パラメーターを構成する必要があります。詳細については、「コードエディタを使用してバッチ同期タスクを構成する」をご参照ください。次の情報は、コードエディタを使用してバッチ同期タスクを構成する場合に、データソースに構成する必要があるパラメーターについて説明しています。
LogHub Reader のコード
LogHub Reader のコードのパラメーター
LogHub Writer のコード
LogHub Writer のコードのパラメーター
付録 2:SPL 構文
Simple Log Service データソースからデータを同期するデータ同期タスクを構成する場合、データソースでは Simple Log Service のクエリ構文と SPL 文を使用してデータをフィルタリングできます。Simple Log Service は、ログの処理に SPL を使用します。次の表は、さまざまなシナリオでの SPL 構文について説明しています。
SPL の詳細については、「SPL 構文」をご参照ください。
シナリオ | SQL 文 | SPL 文 |
データのフィルタリング |
|
|
フィールドの処理とフィルタリング | 完全一致モードでフィールドを検索し、フィールドの名前を変更します。
|
|
データの標準化 (SQL 関数の呼び出し) | データ型を変換し、時間を解析します。
| データ型を変換し、時間を解析します。
|
フィールドの抽出 | 正規表現を使用してデータを抽出します。
JSON データを抽出します。
|
|