Docs(hash_functions): fix javaHash & hiveHash functions

This commit is contained in:
Sergei Bocharov 2019-09-19 15:31:03 +03:00
parent 70bc89557f
commit 6a4a4b5674
2 changed files with 112 additions and 11 deletions

View File

@ -177,16 +177,66 @@ SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:0
## javaHash {#hash_functions-javahash}
Calculates [JavaHash](http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/478a4add975b/src/share/classes/java/lang/String.java#l1452)
from a string.
Accepts a String-type argument. Returns Int32.
Calculates [JavaHash](http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/478a4add975b/src/share/classes/java/lang/String.java#l1452) from a string.
## hiveHash
```sql
SELECT javaHash();
```
**Returned value**
A `Int32` data type hash value.
Type: `javaHash`.
**Example**
Query:
```sql
SELECT javaHash('Hello, world!');
```
Result:
```text
┌─javaHash('Hello, world!')─┐
│ -1880044555 │
└───────────────────────────┘
```
## hiveHash {#hash_functions-hivehash}
Calculates `HiveHash` from a string.
```sql
SELECT hiveHash();
```
Calculates HiveHash from a string.
Accepts a String-type argument. Returns Int32.
This is just [JavaHash](#hash_functions-javahash) with zeroed out sign bit. This function is used in [Apache Hive](https://en.wikipedia.org/wiki/Apache_Hive) for versions before 3.0.
**Returned value**
A `Int32` data type hash value.
Type: `hiveHash`.
**Example**
Query:
```sql
SELECT hiveHash('Hello, world!');
```
Result:
```text
┌─hiveHash('Hello, world!')─┐
│ 267439093 │
└───────────────────────────┘
```
## metroHash64
Produces a 64-bit [MetroHash](http://www.jandrewrogers.com/2015/05/27/metrohash/) hash value.

View File

@ -180,13 +180,64 @@ SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:0
## javaHash {#hash_functions-javahash}
Вычисляет [JavaHash](http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/478a4add975b/src/share/classes/java/lang/String.java#l1452) от строки.
Принимает аргумент типа String. Возвращает значение типа Int32.
## hiveHash
```sql
SELECT javaHash();
```
Вычисляет HiveHash от строки.
Принимает аргумент типа String. Возвращает значение типа Int32.
HiveHash — это результат [JavaHash](#hash_functions-javahash) с обнулённым битом знака числа. Функция используется в [Apache Hive](https://en.wikipedia.org/wiki/Apache_Hive) вплоть до версии 3.0.
**Возвращаемое значение**
Хэш-значение типа `Int32`.
Тип: `javaHash`.
**Пример**
Запрос:
```sql
SELECT javaHash('Hello, world!');
```
Ответ:
```text
┌─javaHash('Hello, world!')─┐
│ -1880044555 │
└───────────────────────────┘
```
## hiveHash {#hash_functions-hivehash}
Вычисляет `HiveHash` от строки.
```sql
SELECT hiveHash();
```
`HiveHash` — это результат [JavaHash](#hash_functions-javahash) с обнулённым битом знака числа. Функция используется в [Apache Hive](https://en.wikipedia.org/wiki/Apache_Hive) вплоть до версии 3.0.
**Возвращаемое значение**
Хэш-значение типа `Int32`.
Тип: `hiveHash`.
**Пример**
Запрос:
```sql
SELECT hiveHash('Hello, world!');
```
Ответ:
```text
┌─hiveHash('Hello, world!')─┐
│ 267439093 │
└───────────────────────────┘
```
## metroHash64