Log Service の検索 / 分析機能は、マッピング関数を使用してログの分析をサポートします。具体的な記述と意味は次のとおりです。

関数 説明 
Subscript operator [] マップ内のキーの結果を取得します。 -
histogram(x) 列 x の各値に従って GROUP BY を実行し、カウントを計算します。 構文は select count group by x の形になります。
返される情報は JSON 形式でなければなりません。
latency > 10 | select histogram(status)latency > 10 | select count(1) group by status と同じです。
histogram_u(x) 列 x の各値に従って GROUP BY を実行し、カウントを計算します。
返される情報は複数行複数列の形式でなければなりません。
latency > 10 | select histogram(status)latency > 10 | select count(1) group by status と同じです。
map_agg(Key,Value) key/value 配列を使用して作成されたマッピングを返します。 latency > 100 | select map_agg(method,latency)
multimap_agg(Key,Value) key/value 配列を使用して作成された複数値マッピングを返します。 latency > 100 | select multimap_agg(method,latency)
cardinality(x) → bigint マップのサイズを取得します。 -
element_at(map<K, V>, key) → V キーに対応する値を取得します。 -
map() → map<unknown, unknown> 空のマップを返します。 -
map(array<K>, array<V>) → map<K,V> 2 つの配列を 1 対 1 のマップに変換します。 SELECT map(ARRAY[1,3], ARRAY[2,4]); — {1 -> 2, 3 -> 4}
map_from_entries(array<row<K, V>>) → map<K,V> 多次元配列をマップに変換します。 SELECT map_from_entries(ARRAY[(1, ‘x’), (2, ‘y’)]); — {1 -> ‘x’, 2 -> ‘y’}
map_entries(map<K, V>) → array<row<K,V>> 1つの要素を1つの配列に変換します。 SELECT map_entries(MAP(ARRAY[1, 2], ARRAY[‘x’, ‘y’])); — [ROW(1, ‘x’), ROW(2, ‘y’)]
map_concat(map1<K, V>, map2<K, V>, …, mapN<K, V>) → map<K,V> 複数のマップの結合が必要です。キーが複数のマップに存在する場合は、最初のキーを使ってください。 -
map_filter(map<K, V>, function) → map<K,V> lambda map_filter 関数をご参照ください。 -
transform_keys(map<K1, V>, function) → MAP<K2,V> lambda transform_keys 関数をご参照ください。 -
transform_values(map<K, V1>, function) → MAP<K,V2> lambda transform_values 関数をご参照ください。 -
map_keys(x<K, V>) → array<K> マップ内のすべてのキーを取得し、配列を返します。 -
map_values(x<K, V>) → array<V> マップ内のすべての値を取得し、配列を返します。 -
map_zip_with(map<K, V1>, map<K, V2>, function<K, V1, V2, V3>) → map<K,V3> lambda の指数関数をご参照ください。 -