mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 15:42:02 +00:00
DOCSUP-1352: [CLICKHOUSEDOCS] Edit and translate to Russian (#13891)
* first commit * second commit * Third commit * Fourth commit * array-functions.md * Sixth commit * Seventh commit * Eigth commit * Ninth commit * tenth commit * eleventh commit * twelfth commit
This commit is contained in:
parent
bd04658fc0
commit
ebbdaf41aa
4
docs/ru/interfaces/third-party/gui.md
vendored
4
docs/ru/interfaces/third-party/gui.md
vendored
@ -89,6 +89,10 @@
|
||||
|
||||
[clickhouse-flamegraph](https://github.com/Slach/clickhouse-flamegraph) — специализированный инструмент для визуализации `system.trace_log` в виде [flamegraph](http://www.brendangregg.com/flamegraphs.html).
|
||||
|
||||
### clickhouse-plantuml {#clickhouse-plantuml}
|
||||
|
||||
[cickhouse-plantuml](https://pypi.org/project/clickhouse-plantuml/) — скрипт, генерирующий [PlantUML](https://plantuml.com/) диаграммы схем таблиц.
|
||||
|
||||
## Коммерческие {#kommercheskie}
|
||||
|
||||
### DataGrip {#datagrip}
|
||||
|
@ -16,9 +16,12 @@
|
||||
|
||||
Подстановки могут также выполняться из ZooKeeper. Для этого укажите у элемента атрибут `from_zk = "/path/to/node"`. Значение элемента заменится на содержимое узла `/path/to/node` в ZooKeeper. В ZooKeeper-узел также можно положить целое XML-поддерево, оно будет целиком вставлено в исходный элемент.
|
||||
|
||||
В `config.xml` может быть указан отдельный конфиг с настройками пользователей, профилей и квот. Относительный путь к нему указывается в элементе users\_config. По умолчанию - `users.xml`. Если `users_config` не указан, то настройки пользователей, профилей и квот, указываются непосредственно в `config.xml`.
|
||||
В элементе `users_config` файла `config.xml` можно указать относительный путь к конфигурационному файлу с настройками пользователей, профилей и квот. Значение `users_config` по умолчанию — `users.xml`. Если `users_config` не указан, то настройки пользователей, профилей и квот можно задать непосредственно в `config.xml`.
|
||||
|
||||
Для `users_config` могут также существовать переопределения в файлах из директории `users_config.d` (например, `users.d`) и подстановки. Например, можно иметь по отдельному конфигурационному файлу для каждого пользователя:
|
||||
Настройки пользователя могут быть разделены в несколько отдельных файлов аналогичных `config.xml` и `config.d\`. Имя директории задаётся также как `users_config`.
|
||||
Имя директории задаётся так же, как имя файла в `users_config`, с подстановкой `.d` вместо `.xml`.
|
||||
Директория `users.d` используется по умолчанию, также как `users.xml` используется для `users_config`.
|
||||
Например, можно иметь по отдельному конфигурационному файлу для каждого пользователя:
|
||||
|
||||
``` bash
|
||||
$ cat /etc/clickhouse-server/users.d/alice.xml
|
||||
|
@ -520,31 +520,6 @@ ClickHouse использует этот параметр при чтении д
|
||||
|
||||
Значение по умолчанию: 0.
|
||||
|
||||
## network_compression_method {#network_compression_method}
|
||||
|
||||
Задает метод сжатия данных, используемый при обмене данными между серверами и при обмене между сервером и [clickhouse-client](../../interfaces/cli.md).
|
||||
|
||||
Возможные значения:
|
||||
|
||||
- `LZ4` — устанавливает метод сжатия LZ4.
|
||||
- `ZSTD` — устанавливает метод сжатия ZSTD.
|
||||
|
||||
Значение по умолчанию: `LZ4`.
|
||||
|
||||
См. также:
|
||||
|
||||
- [network_zstd_compression_level](#network_zstd_compression_level)
|
||||
|
||||
## network_zstd_compression_level {#network_zstd_compression_level}
|
||||
|
||||
Регулирует уровень сжатия ZSTD. Используется только тогда, когда [network_compression_method](#network_compression_method) имеет значение `ZSTD`.
|
||||
|
||||
Возможные значения:
|
||||
|
||||
- Положительное целое число от 1 до 15.
|
||||
|
||||
Значение по умолчанию: `1`.
|
||||
|
||||
## log\_queries {#settings-log-queries}
|
||||
|
||||
Установка логирования запроса.
|
||||
@ -557,6 +532,60 @@ ClickHouse использует этот параметр при чтении д
|
||||
log_queries=1
|
||||
```
|
||||
|
||||
## log\_queries\_min\_type {#settings-log-queries-min-type}
|
||||
|
||||
`query_log` минимальный уровень логирования.
|
||||
|
||||
Возможные значения:
|
||||
- `QUERY_START` (`=1`)
|
||||
- `QUERY_FINISH` (`=2`)
|
||||
- `EXCEPTION_BEFORE_START` (`=3`)
|
||||
- `EXCEPTION_WHILE_PROCESSING` (`=4`)
|
||||
|
||||
Значение по умолчанию: `QUERY_START`.
|
||||
|
||||
Можно использовать для ограничения того, какие объекты будут записаны в `query_log`, например, если вас интересуют ошибки, тогда вы можете использовать `EXCEPTION_WHILE_PROCESSING`:
|
||||
|
||||
``` text
|
||||
log_queries_min_type='EXCEPTION_WHILE_PROCESSING'
|
||||
```
|
||||
|
||||
## log\_queries\_min\_type {#settings-log-queries-min-type}
|
||||
|
||||
`query_log` минимальный уровень логирования.
|
||||
|
||||
Возможные значения:
|
||||
- `QUERY_START` (`=1`)
|
||||
- `QUERY_FINISH` (`=2`)
|
||||
- `EXCEPTION_BEFORE_START` (`=3`)
|
||||
- `EXCEPTION_WHILE_PROCESSING` (`=4`)
|
||||
|
||||
Значение по умолчанию: `QUERY_START`.
|
||||
|
||||
Можно использовать для ограничения того, какие объекты будут записаны в `query_log`, например, если вас интересуют ошибки, тогда вы можете использовать `EXCEPTION_WHILE_PROCESSING`:
|
||||
|
||||
``` text
|
||||
log_queries_min_type='EXCEPTION_WHILE_PROCESSING'
|
||||
```
|
||||
|
||||
## log\_queries\_min\_type {#settings-log-queries-min-type}
|
||||
|
||||
Задаёт минимальный уровень логирования в `query_log`.
|
||||
|
||||
Возможные значения:
|
||||
- `QUERY_START` (`=1`)
|
||||
- `QUERY_FINISH` (`=2`)
|
||||
- `EXCEPTION_BEFORE_START` (`=3`)
|
||||
- `EXCEPTION_WHILE_PROCESSING` (`=4`)
|
||||
|
||||
Значение по умолчанию: `QUERY_START`.
|
||||
|
||||
Можно использовать для ограничения того, какие объекты будут записаны в `query_log`, например, если вас интересуют ошибки, тогда вы можете использовать `EXCEPTION_WHILE_PROCESSING`:
|
||||
|
||||
``` text
|
||||
log_queries_min_type='EXCEPTION_WHILE_PROCESSING'
|
||||
```
|
||||
|
||||
## log\_query\_threads {#settings-log-query-threads}
|
||||
|
||||
Установка логирования информации о потоках выполнения запроса.
|
||||
@ -571,7 +600,7 @@ log_query_threads=1
|
||||
|
||||
## max\_insert\_block\_size {#settings-max_insert_block_size}
|
||||
|
||||
Формировать блоки указанного размера (в количестве строк), при вставке в таблицу.
|
||||
Формировать блоки указанного размера, при вставке в таблицу.
|
||||
Эта настройка действует только в тех случаях, когда сервер сам формирует такие блоки.
|
||||
Например, при INSERT-е через HTTP интерфейс, сервер парсит формат данных, и формирует блоки указанного размера.
|
||||
А при использовании clickhouse-client, клиент сам парсит данные, и настройка max\_insert\_block\_size на сервере не влияет на размер вставляемых блоков.
|
||||
@ -946,7 +975,6 @@ SELECT area/period FROM account_orders FORMAT JSON;
|
||||
"type": "Float64"
|
||||
}
|
||||
],
|
||||
|
||||
"data":
|
||||
[
|
||||
{
|
||||
@ -959,9 +987,7 @@ SELECT area/period FROM account_orders FORMAT JSON;
|
||||
"divide(area, period)": null
|
||||
}
|
||||
],
|
||||
|
||||
"rows": 3,
|
||||
|
||||
"statistics":
|
||||
{
|
||||
"elapsed": 0.003648093,
|
||||
@ -982,7 +1008,6 @@ SELECT area/period FROM account_orders FORMAT JSON;
|
||||
"type": "Float64"
|
||||
}
|
||||
],
|
||||
|
||||
"data":
|
||||
[
|
||||
{
|
||||
@ -995,9 +1020,7 @@ SELECT area/period FROM account_orders FORMAT JSON;
|
||||
"divide(area, period)": "-inf"
|
||||
}
|
||||
],
|
||||
|
||||
"rows": 3,
|
||||
|
||||
"statistics":
|
||||
{
|
||||
"elapsed": 0.000070241,
|
||||
@ -1007,6 +1030,7 @@ SELECT area/period FROM account_orders FORMAT JSON;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## format\_csv\_delimiter {#settings-format_csv_delimiter}
|
||||
|
||||
Символ, интерпретируемый как разделитель в данных формата CSV. По умолчанию — `,`.
|
||||
@ -1220,7 +1244,7 @@ ClickHouse генерирует исключение
|
||||
|
||||
Значение по умолчанию: 0
|
||||
|
||||
## force\_optimize\_skip\_unused\_shards {#force-optimize-skip-unused-shards}
|
||||
## force\_optimize\_skip\_unused\_shards {#settings-force_optimize_skip_unused_shards}
|
||||
|
||||
Разрешает или запрещает выполнение запроса, если настройка [optimize_skip_unused_shards](#optimize-skip-unused-shards) включена, а пропуск неиспользуемых шардов невозможен. Если данная настройка включена и пропуск невозможен, ClickHouse генерирует исключение.
|
||||
|
||||
@ -1234,19 +1258,30 @@ ClickHouse генерирует исключение
|
||||
|
||||
## force\_optimize\_skip\_unused\_shards\_nesting {#settings-force_optimize_skip_unused_shards_nesting}
|
||||
|
||||
Контролирует настройку [`force_optimize_skip_unused_shards`](#force-optimize-skip-unused-shards) (поэтому все еще требует `optimize_skip_unused_shards`) в зависимости от вложенности распределенного запроса (когда у вас есть `Distributed` таблица которая смотрит на другую `Distributed` таблицу).
|
||||
Контролирует настройку [`force_optimize_skip_unused_shards`](#settings-force_optimize_skip_unused_shards) (поэтому все еще требует `optimize_skip_unused_shards`) в зависимости от вложенности распределенного запроса (когда у вас есть `Distributed` таблица которая смотрит на другую `Distributed` таблицу).
|
||||
|
||||
Возможные значения:
|
||||
|
||||
- 0 - Disabled, `force_optimize_skip_unused_shards` works on all levels.
|
||||
- 1 — Enables `force_optimize_skip_unused_shards` only for the first level.
|
||||
- 2 — Enables `force_optimize_skip_unused_shards` up to the second level.
|
||||
- 0 - Выключена, `force_optimize_skip_unused_shards` работает всегда.
|
||||
- 1 — Включает `force_optimize_skip_unused_shards` только для 1-ого уровня вложенности.
|
||||
- 2 — Включает `force_optimize_skip_unused_shards` для 1-ого и 2-ого уровня вложенности.
|
||||
|
||||
Значение по умолчанию: 0
|
||||
|
||||
## force\_optimize\_skip\_unused\_shards\_no\_nested {#settings-force_optimize_skip_unused_shards_no_nested}
|
||||
|
||||
Сбрасывает [`optimize_skip_unused_shards`](#settings-force_optimize_skip_unused_shards) для вложенных `Distributed` таблиц.
|
||||
|
||||
Возможные значения:
|
||||
|
||||
- 1 — Включена.
|
||||
- 0 — Выключена.
|
||||
|
||||
Значение по умолчанию: 0
|
||||
|
||||
## optimize\_throw\_if\_noop {#setting-optimize_throw_if_noop}
|
||||
|
||||
Включает или отключает генерирование исключения в в случаях, когда запрос [OPTIMIZE](../../sql-reference/statements/misc.md#misc_operations-optimize) не выполняет мёрж.
|
||||
Включает или отключает генерирование исключения в случаях, когда запрос [OPTIMIZE](../../sql-reference/statements/misc.md#misc_operations-optimize) не выполняет мёрж.
|
||||
|
||||
По умолчанию, `OPTIMIZE` завершается успешно и в тех случаях, когда он ничего не сделал. Настройка позволяет отделить подобные случаи и включает генерирование исключения с поясняющим сообщением.
|
||||
|
||||
@ -1367,7 +1402,7 @@ Default value: 0.
|
||||
- [Sampling Query Profiler](../optimizing-performance/sampling-query-profiler.md)
|
||||
- System table [trace\_log](../../operations/system-tables/trace_log.md#system_tables-trace_log)
|
||||
|
||||
## background_pool_size {#background_pool_size}
|
||||
## background\_pool\_size {#background_pool_size}
|
||||
|
||||
Задает количество потоков для выполнения фоновых операций в движках таблиц (например, слияния в таблицах c движком [MergeTree](../../engines/table-engines/mergetree-family/index.md)). Настройка применяется при запуске сервера ClickHouse и не может быть изменена во пользовательском сеансе. Настройка позволяет управлять загрузкой процессора и диска. Чем меньше пулл, тем ниже нагрузка на CPU и диск, при этом фоновые процессы замедляются, что может повлиять на скорость выполнения запроса.
|
||||
|
||||
@ -1381,7 +1416,7 @@ Default value: 0.
|
||||
|
||||
Включает параллельную обработку распределённых запросов `INSERT ... SELECT`.
|
||||
|
||||
Если при выполнении запроса `INSERT INTO distributed_table_a SELECT ... FROM distributed_table_b` оказывается, что обе таблицы находятся в одном кластере, то независимо от того [реплицируемые](../../engines/table-engines/mergetree-family/replication.md) они или нет, запрос выполняется локально на каждом шарде.
|
||||
Если при выполнении запроса `INSERT INTO distributed_table_a SELECT ... FROM distributed_table_b` оказывается, что обе таблицы находятся в одном кластере, то независимо от того [реплицируемые](../../engines/table-engines/mergetree-family/replication.md) они или нет, запрос выполняется локально на каждом шарде.
|
||||
|
||||
Допустимые значения:
|
||||
|
||||
@ -1431,7 +1466,7 @@ Default value: 0.
|
||||
|
||||
Значение по умолчанию: 0.
|
||||
|
||||
**См. также:**
|
||||
**См. также:**
|
||||
|
||||
- [Репликация данных](../../engines/table-engines/mergetree-family/replication.md)
|
||||
|
||||
@ -1448,7 +1483,7 @@ Possible values:
|
||||
|
||||
Значение по умолчанию: 0.
|
||||
|
||||
**Пример**
|
||||
**Пример**
|
||||
|
||||
Рассмотрим таблицу `null_in`:
|
||||
|
||||
@ -1499,7 +1534,7 @@ SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 1;
|
||||
└──────┴───────┘
|
||||
```
|
||||
|
||||
**См. также**
|
||||
**См. также**
|
||||
|
||||
- [Обработка значения NULL в операторе IN](../../sql-reference/operators/in.md#in-null-processing)
|
||||
|
||||
@ -1610,8 +1645,8 @@ SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 1;
|
||||
|
||||
Возможные значения:
|
||||
|
||||
- 0 - мутации выполняются асинхронно.
|
||||
- 1 - запрос ждет завершения всех мутаций на текущем сервере.
|
||||
- 0 - мутации выполняются асинхронно.
|
||||
- 1 - запрос ждет завершения всех мутаций на текущем сервере.
|
||||
- 2 - запрос ждет завершения всех мутаций на всех репликах (если они есть).
|
||||
|
||||
Значение по умолчанию: `0`.
|
||||
|
@ -2,15 +2,14 @@
|
||||
toc_priority: 141
|
||||
---
|
||||
|
||||
# sumMap {#agg_functions-summap}
|
||||
|
||||
Синтаксис: `sumMap(key, value)` или `sumMap(Tuple(key, value))`
|
||||
## sumMap(key, value), sumMap(Tuple(key, value)) {#agg_functions-summap}
|
||||
|
||||
Производит суммирование массива ‘value’ по соответствующим ключам заданным в массиве ‘key’.
|
||||
Передача кортежа ключей и значений массива синонимично передаче двух массивов ключей и значений.
|
||||
Количество элементов в ‘key’ и ‘value’ должно быть одинаковым для каждой строки, для которой происходит суммирование.
|
||||
Возвращает кортеж из двух массивов - ключи в отсортированном порядке и значения, просуммированные по соответствующим ключам.
|
||||
|
||||
Пример:
|
||||
**Пример:**
|
||||
|
||||
``` sql
|
||||
CREATE TABLE sum_map(
|
||||
@ -19,25 +18,28 @@ CREATE TABLE sum_map(
|
||||
statusMap Nested(
|
||||
status UInt16,
|
||||
requests UInt64
|
||||
)
|
||||
),
|
||||
statusMapTuple Tuple(Array(Int32), Array(Int32))
|
||||
) ENGINE = Log;
|
||||
INSERT INTO sum_map VALUES
|
||||
('2000-01-01', '2000-01-01 00:00:00', [1, 2, 3], [10, 10, 10]),
|
||||
('2000-01-01', '2000-01-01 00:00:00', [3, 4, 5], [10, 10, 10]),
|
||||
('2000-01-01', '2000-01-01 00:01:00', [4, 5, 6], [10, 10, 10]),
|
||||
('2000-01-01', '2000-01-01 00:01:00', [6, 7, 8], [10, 10, 10]);
|
||||
('2000-01-01', '2000-01-01 00:00:00', [1, 2, 3], [10, 10, 10], ([1, 2, 3], [10, 10, 10])),
|
||||
('2000-01-01', '2000-01-01 00:00:00', [3, 4, 5], [10, 10, 10], ([3, 4, 5], [10, 10, 10])),
|
||||
('2000-01-01', '2000-01-01 00:01:00', [4, 5, 6], [10, 10, 10], ([4, 5, 6], [10, 10, 10])),
|
||||
('2000-01-01', '2000-01-01 00:01:00', [6, 7, 8], [10, 10, 10], ([6, 7, 8], [10, 10, 10]));
|
||||
|
||||
SELECT
|
||||
timeslot,
|
||||
sumMap(statusMap.status, statusMap.requests)
|
||||
sumMap(statusMap.status, statusMap.requests),
|
||||
sumMap(statusMapTuple)
|
||||
FROM sum_map
|
||||
GROUP BY timeslot
|
||||
```
|
||||
|
||||
``` text
|
||||
┌────────────timeslot─┬─sumMap(statusMap.status, statusMap.requests)─┐
|
||||
│ 2000-01-01 00:00:00 │ ([1,2,3,4,5],[10,10,20,10,10]) │
|
||||
│ 2000-01-01 00:01:00 │ ([4,5,6,7,8],[10,10,20,10,10]) │
|
||||
└─────────────────────┴──────────────────────────────────────────────┘
|
||||
┌────────────timeslot─┬─sumMap(statusMap.status, statusMap.requests)─┬─sumMap(statusMapTuple)─────────┐
|
||||
│ 2000-01-01 00:00:00 │ ([1,2,3,4,5],[10,10,20,10,10]) │ ([1,2,3,4,5],[10,10,20,10,10]) │
|
||||
│ 2000-01-01 00:01:00 │ ([4,5,6,7,8],[10,10,20,10,10]) │ ([4,5,6,7,8],[10,10,20,10,10]) │
|
||||
└─────────────────────┴──────────────────────────────────────────────┴────────────────────────────────┘
|
||||
```
|
||||
|
||||
[Оригинальная статья](https://clickhouse.tech/docs/en/sql-reference/aggregate-functions/reference/summap/) <!--hide-->
|
||||
|
@ -1,8 +1,8 @@
|
||||
# AggregateFunction {#data-type-aggregatefunction}
|
||||
|
||||
Промежуточное состояние агрегатной функции. Чтобы его получить, используются агрегатные функции с суффиксом `-State`. Чтобы в дальнейшем получить агрегированные данные необходимо использовать те же агрегатные функции с суффиксом `-Merge`.
|
||||
Агрегатные функции могут обладать определяемым реализацией промежуточным состоянием, которое может быть сериализовано в тип данных, соответствующий AggregateFunction(…), и быть записано в таблицу обычно посредством [материализованного представления] (../../sql-reference/statements/create.md#create-view). Чтобы получить промежуточное состояние, обычно используются агрегатные функции с суффиксом `-State`. Чтобы в дальнейшем получить агрегированные данные необходимо использовать те же агрегатные функции с суффиксом `-Merge`.
|
||||
|
||||
`AggregateFunction(name, types_of_arguments…)` — параметрический тип данных.
|
||||
`AggregateFunction(name, types\_of\_arguments…)` — параметрический тип данных.
|
||||
|
||||
**Параметры**
|
||||
|
||||
@ -23,7 +23,7 @@ CREATE TABLE t
|
||||
) ENGINE = ...
|
||||
```
|
||||
|
||||
[uniq](../../sql-reference/aggregate-functions/reference/uniq.md#agg_function-uniq), anyIf ([any](../../sql-reference/aggregate-functions/reference/any.md#agg_function-any)+[If](../../sql-reference/aggregate-functions/combinators.md#agg-functions-combinator-if)) и [quantiles](../../sql-reference/aggregate-functions/reference/quantiles.md) — агрегатные функции, поддержанные в ClickHouse.
|
||||
[uniq](../../sql-reference/data-types/aggregatefunction.md#agg_function-uniq), anyIf ([any](../../sql-reference/data-types/aggregatefunction.md#agg_function-any)+[If](../../sql-reference/data-types/aggregatefunction.md#agg-functions-combinator-if)) и [quantiles](../../sql-reference/data-types/aggregatefunction.md) — агрегатные функции, поддержанные в ClickHouse.
|
||||
|
||||
## Особенности использования {#osobennosti-ispolzovaniia}
|
||||
|
||||
@ -58,6 +58,6 @@ SELECT uniqMerge(state) FROM (SELECT uniqState(UserID) AS state FROM table GROUP
|
||||
|
||||
## Пример использования {#primer-ispolzovaniia}
|
||||
|
||||
Смотрите в описании движка [AggregatingMergeTree](../../engines/table-engines/mergetree-family/aggregatingmergetree.md).
|
||||
Смотрите в описании движка [AggregatingMergeTree](../../sql-reference/data-types/aggregatefunction.md).
|
||||
|
||||
[Оригинальная статья](https://clickhouse.tech/docs/ru/data_types/nested_data_structures/aggregatefunction/) <!--hide-->
|
||||
|
@ -851,7 +851,7 @@ SELECT arrayReduce('maxIf', [3, 5], [1, 0])
|
||||
|
||||
Пример с параметрической агрегатной функцией:
|
||||
|
||||
Запрос:
|
||||
Запрос:
|
||||
|
||||
```sql
|
||||
SELECT arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
|
||||
@ -1036,4 +1036,40 @@ SELECT arrayZip(['a', 'b', 'c'], [5, 2, 1])
|
||||
└──────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## arrayAUC {#arrayauc}
|
||||
|
||||
Вычисляет площадь под кривой.
|
||||
|
||||
**Синтаксис**
|
||||
|
||||
``` sql
|
||||
arrayAUC(arr_scores, arr_labels)
|
||||
```
|
||||
|
||||
**Параметры**
|
||||
- `arr_scores` — оценка, которую дает модель предсказания.
|
||||
- `arr_labels` — ярлыки выборок, обычно 1 для содержательных выборок и 0 для бессодержательных выборок.
|
||||
|
||||
**Возвращаемое значение**
|
||||
|
||||
Значение площади под кривой.
|
||||
|
||||
Тип данных: `Float64`.
|
||||
|
||||
**Пример**
|
||||
|
||||
Запрос:
|
||||
|
||||
``` sql
|
||||
select arrayAUC([0.1, 0.4, 0.35, 0.8], [0, 0, 1, 1])
|
||||
```
|
||||
|
||||
Ответ:
|
||||
|
||||
``` text
|
||||
┌─arrayAUC([0.1, 0.4, 0.35, 0.8], [0, 0, 1, 1])─┐
|
||||
│ 0.75 │
|
||||
└────────────────────────────────────────---──┘
|
||||
```
|
||||
|
||||
[Оригинальная статья](https://clickhouse.tech/docs/ru/query_language/functions/array_functions/) <!--hide-->
|
||||
|
@ -127,9 +127,9 @@ SELECT IPv6NumToString(IPv4ToIPv6(IPv4StringToNum('192.168.0.1'))) AS addr
|
||||
└────────────────────┘
|
||||
```
|
||||
|
||||
## cutIPv6(x, bitsToCutForIPv6, bitsToCutForIPv4) {#cutipv6x-bitstocutforipv6-bitstocutforipv4}
|
||||
## cutIPv6(x, bytesToCutForIPv6, bytesToCutForIPv4) {#cutipv6x-bytestocutforipv6-bytestocutforipv4}
|
||||
|
||||
Принимает значение типа FixedString(16), содержащее IPv6-адрес в бинарном виде. Возвращает строку, содержащую адрес из указанного количества битов, удаленных в текстовом формате. Например:
|
||||
Принимает значение типа FixedString(16), содержащее IPv6-адрес в бинарном виде. Возвращает строку, содержащую адрес из указанного количества байтов, удаленных в текстовом формате. Например:
|
||||
|
||||
``` sql
|
||||
WITH
|
||||
|
@ -2,13 +2,90 @@
|
||||
|
||||
## splitByChar(separator, s) {#splitbycharseparator-s}
|
||||
|
||||
Разбивает строку на подстроки, используя в качестве разделителя separator.
|
||||
Разбивает строку на подстроки, используя в качестве разделителя `separator`.
|
||||
separator должен быть константной строкой из ровно одного символа.
|
||||
Возвращается массив выделенных подстрок. Могут выделяться пустые подстроки, если разделитель идёт в начале или в конце строки, или если идёт более одного разделителя подряд.
|
||||
|
||||
**Синтаксис**
|
||||
|
||||
``` sql
|
||||
splitByChar(<separator>, <s>)
|
||||
```
|
||||
|
||||
**Параметры**
|
||||
|
||||
- `separator` — Разделитель, состоящий из одного символа. [String](../../sql-reference/data-types/string.md).
|
||||
- `s` — Разбиваемая строка. [String](../../sql-reference/data-types/string.md).
|
||||
|
||||
**Возвращаемые значения**
|
||||
|
||||
Возвращает массив подстрок. Пустая подстрока, может быть возвращена, когда:
|
||||
|
||||
- Разделитель находится в начале или конце строки;
|
||||
- Задано несколько последовательных разделителей;
|
||||
- Исходная строка `s` пуста.
|
||||
|
||||
Type: [Array](../../sql-reference/data-types/array.md) of [String](../../sql-reference/data-types/string.md).
|
||||
|
||||
**Пример**
|
||||
|
||||
``` sql
|
||||
SELECT splitByChar(',', '1,2,3,abcde')
|
||||
```
|
||||
|
||||
``` text
|
||||
┌─splitByChar(',', '1,2,3,abcde')─┐
|
||||
│ ['1','2','3','abcde'] │
|
||||
└─────────────────────────────────┘
|
||||
```
|
||||
|
||||
## splitByString(separator, s) {#splitbystringseparator-s}
|
||||
|
||||
То же самое, но использует строку из нескольких символов в качестве разделителя. Строка должна быть непустой.
|
||||
Разбивает строку на подстроки, разделенные строкой. В качестве разделителя использует константную строку `separator`, которая может состоять из нескольких символов. Если строка `separator` пуста, то функция разделит строку `s` на массив из символов.
|
||||
|
||||
**Синтаксис**
|
||||
|
||||
``` sql
|
||||
splitByString(separator, s)
|
||||
```
|
||||
|
||||
**Параметры**
|
||||
|
||||
- `separator` — Разделитель. [String](../../sql-reference/data-types/string.md).
|
||||
- `s` — Разбиваемая строка. [String](../../sql-reference/data-types/string.md).
|
||||
|
||||
**Возвращаемые значения**
|
||||
|
||||
Возвращает массив подстрок. Пустая подстрока, может быть возвращена, когда:
|
||||
|
||||
- Разделитель находится в начале или конце строки;
|
||||
- Задано несколько последовательных разделителей;
|
||||
- Исходная строка `s` пуста.
|
||||
|
||||
Type: [Array](../../sql-reference/data-types/array.md) of [String](../../sql-reference/data-types/string.md).
|
||||
|
||||
**Примеры**
|
||||
|
||||
``` sql
|
||||
SELECT splitByString(', ', '1, 2 3, 4,5, abcde')
|
||||
```
|
||||
|
||||
``` text
|
||||
┌─splitByString(', ', '1, 2 3, 4,5, abcde')─┐
|
||||
│ ['1','2 3','4,5','abcde'] │
|
||||
└───────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
``` sql
|
||||
SELECT splitByString('', 'abcde')
|
||||
```
|
||||
|
||||
``` text
|
||||
┌─splitByString('', 'abcde')─┐
|
||||
│ ['a','b','c','d','e'] │
|
||||
└────────────────────────────┘
|
||||
```
|
||||
|
||||
|
||||
## arrayStringConcat(arr\[, separator\]) {#arraystringconcatarr-separator}
|
||||
|
||||
@ -33,42 +110,4 @@ SELECT alphaTokens('abca1abc')
|
||||
└─────────────────────────┘
|
||||
```
|
||||
|
||||
## extractAllGroups(text, regexp) {#extractallgroups}
|
||||
|
||||
Выделяет все группы из неперекрывающихся подстрок, которые соответствуют регулярному выражению.
|
||||
|
||||
**Синтаксис**
|
||||
|
||||
``` sql
|
||||
extractAllGroups(text, regexp)
|
||||
```
|
||||
|
||||
**Параметры**
|
||||
|
||||
- `text` — [String](../data-types/string.md) или [FixedString](../data-types/fixedstring.md).
|
||||
- `regexp` — Регулярное выражение. Константа. [String](../data-types/string.md) или [FixedString](../data-types/fixedstring.md).
|
||||
|
||||
**Возвращаемые значения**
|
||||
|
||||
- Если найдена хотя бы одна подходящая группа, функция возвращает столбец вида `Array(Array(String))`, сгруппированный по идентификатору группы (от 1 до N, где N — количество групп с захватом содержимого в `regexp`).
|
||||
|
||||
- Если подходящих групп не найдено, возвращает пустой массив.
|
||||
|
||||
Тип: [Array](../data-types/array.md).
|
||||
|
||||
**Пример использования**
|
||||
|
||||
Запрос:
|
||||
|
||||
``` sql
|
||||
SELECT extractAllGroups('abc=123, 8="hkl"', '("[^"]+"|\\w+)=("[^"]+"|\\w+)');
|
||||
```
|
||||
|
||||
Результат:
|
||||
|
||||
``` text
|
||||
┌─extractAllGroups('abc=123, 8="hkl"', '("[^"]+"|\\w+)=("[^"]+"|\\w+)')─┐
|
||||
│ [['abc','123'],['8','"hkl"']] │
|
||||
└───────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
[Оригинальная статья](https://clickhouse.tech/docs/ru/query_language/functions/splitting_merging_functions/) <!--hide-->
|
||||
|
Loading…
Reference in New Issue
Block a user