辞書とテーブルは、データエンリッチメントに使用される 2 つの主要なタイプのデータ構造です。 このトピックでは、辞書とテーブルを作成するための一般的な方法を説明し、さまざまな構築方法の長所と短所を比較します。
辞書の作成
辞書を直接作成
e_dict_map({"400": "error", "200": "ok", "*": "other"}, "status", "message")データ設定項目から辞書を作成
e_dict_map(res_local("http_code_map"), "status", "message")ここで、
http_code_mapは高度なタスク設定項目です。 値は以下のように設定します。{"400": "error", "200": "ok", "*": "other"}テーブルから辞書を作成
tab_to_dict関数を使用して、テーブルから辞書を作成します。 テーブルの作成方法の詳細については、本ページの後半で説明します。e_dict_map(tab_to_dict(tab_parse_csv("status_code,status_info\n400,error\n200,ok\n*,other"), "status_code", "status_info"), "status", "message")dct_make 関数を使用して辞書を作成
e_dict_map(dct_make("400", "error", "200", "ok", "*", "other"), "status", "message")別の式を使用して辞書を作成
e_dict_map(json_parse(v("http_code_map")), "status", "message")ここで、データマッピングはソースログの
http_code_mapフィールドから取得されます。
下表に、これらの辞書作成方法を比較します。
移動方法 | メリット | デメリット |
辞書を直接作成 | 直感的でシンプルな、使いやすい方法です。 | 関係する内容が多すぎる場合、ルールが長くなります。 さらに、作成される辞書は静的で柔軟性がありません。 |
データ設定項目から辞書を作成 | 辞書に大量のデータが含まれ、頻繁に変更される場合は、この方法を使用することを推奨します。 この方法はメンテナンスが容易です。 | この方法で作成された辞書は、タスク間でスケールせず、また再利用できません。 また、自動更新には対応していません。 |
テーブルから辞書を作成 | 柔軟なメンテナンスが特徴であるこの方法は、高度なシナリオで使用されます。 | 辞書を構築するためのテーブルを作成して維持する必要があるため、設定プロセスが複雑になります。 |
dct_make 関数を使用して辞書を作成 | 特定のシナリオで動的ロジックに基づいて辞書を作成できます。 | この方法は比較的高度であり、保守が困難です。 |
別の式を使用して辞書を作成 | この方法は、ログイベントのフィールドからデータマッピングを動的に抽出します。 特定のシナリオに適用されます。 | この方法は比較的高度であり、保守が困難です。 |
テーブルの作成
テキストファイルからテーブルを作成
e_table_map(tab_parse_csv("city,name,age\nshanghai,aliyun,10\ncity:nanjing,Maki,18"), "name",["city", "age"])ApsaraDB RDSデータベースからテーブルを構築する
e_table_map(tab_parse_csv(res_rds_mysql(...database="db", table="city")), "name",["city", "age"])RDSデータベースの
cityテーブルには、次の情報が含まれています。content,name,age shanghai,aliyun,10 nanjing,Maki,18別のログストアからテーブルを作成する
e_table_map(res_log_logstore_pull(..., project="project_name", logstore="logstore_name", fields=["city","name","age"]),, "name",["city", "age"])指定されたログストアには、次のログイベントが含まれます。
"Log 1" { "city": "shanghai", "name": "aliyun", "age": "10" } "Log 2" { "city": "city:nanjing and data > 100", "name": "Maki", "age": "18" }
下表で、これらのテーブルの作成方法を比較しています。
移動方法 | メリット | デメリット |
テキストファイルからテーブルを作成 | 直感的でシンプルな、使いやすい方法です。 | 関係する内容が多すぎる場合、ルールが長くなります。 この方法で作成されたテーブルは、保守、スケールアップ、または再利用が困難です。 |
ApsaraDB RDSデータベースからテーブルを構築する |
| テーブルを構築するには、外部のApsaraDB RDSデータベースに接続する必要があるため、設定プロセスが複雑になります。 |
別のログストアからテーブルを作成する | この方法では、リアルタイムでデータが読み取られます。 柔軟なメンテナンスが特徴であるこの方法は、高度なシナリオで使用されます。 | テーブルを作成するには別のログストアに接続する必要があるため、設定プロセスが複雑になります。 |