hash()

入力値のハッシュ値を返します。

注意

  • 関数は xxhash64 アルゴリズムを使用してハッシュを計算しますが、変更される可能性があります。 この関数は、1 つのクエリ内でのみ使用することをお勧めします。
  • 結合されたハッシュを保持する必要がある場合は、hash_sha256()、hash_sha1()、またはhash_md5() を使用し、ハッシュをビット演算子と組み合わせることをお勧めします。 これらの関数は、 よりも hash()計算が複雑です。

構文

hash(source [,mod])

構文規則について詳しく知る。

パラメーター

名前 必須 説明
source スカラー (scalar) ✔️ ハッシュする値。
mod int 出力値が と の間0mod - 1になるように、ハッシュ結果に適用される剰余値。 このパラメーターは、可能な出力値の範囲を制限したり、ハッシュ関数の出力をより小さな範囲に圧縮したりする場合に便利です。

戻り値

source のハッシュ値。 mod が指定されている場合、関数は mod の値のハッシュ値剰余を返します。つまり、関数の出力は、mod で割ったハッシュ値の残りの部分になります。 出力は、 と mod - 1の間0の値になります。

文字列入力

print result=hash("World")
結果
1846988464401551951

mod を使用した文字列入力

print result=hash("World", 100)
結果
51

Datetime 入力

print result=hash(datetime("2015-01-01"))
結果
1380966698541616202

ハッシュを使用してデータ分散をチェックする

列の hash() 1 つの値が均一に分散されている場合は、 関数を使用してデータをサンプリングします。 次の例では、StartTime 値が一様に分布しており、この関数を使用してデータの 10% に対してクエリを実行しています。

StormEvents 
| where hash(StartTime, 10) == 0
| summarize StormCount = count(), TypeOfStorms = dcount(EventType) by State 
| top 5 by StormCount desc