未验证 提交 9734715b 编写于 作者: B BayoNet 提交者: GitHub

DOCAPI-3911: EN review and RU translation for external dicts docs. (#6032)

EN review
RU translation
上级 3eb29c19
......@@ -42,7 +42,7 @@ A structure can contain either `<id>` or `<key>` .
### Numeric Key
Format: `UInt64`.
Type: `UInt64`.
Configuration example:
......@@ -54,7 +54,7 @@ Configuration example:
Configuration fields:
- name – The name of the column with keys.
- `name` – The name of the column with keys.
### Composite Key
......@@ -93,7 +93,7 @@ Configuration example:
...
<attribute>
<name>Name</name>
<type>Type</type>
<type>ClickHouseDataType</type>
<null_value></null_value>
<expression>rand64()</expression>
<hierarchical>true</hierarchical>
......@@ -108,11 +108,11 @@ Configuration fields:
Tag | Description | Required
----|-------------|---------
`name`| Column name. | Yes
`type`| Column type.<br/>Sets the method for interpreting data in the source. For example, for MySQL, the field might be `TEXT`, `VARCHAR`, or `BLOB` in the source table, but it can be uploaded as `String`. | Yes
`null_value` | Default value for a non-existing element.<br/>In the example, it is an empty string. | Yes
`expression` | [Expression](../syntax.md#syntax-expressions) that ClickHouse executes on the value.<br/>The expression can be a column name in the remote SQL database. Thus, you can use it for creating an alias for the remote column.<br/><br/>Default value: no expression. | No
`type`| ClickHouse data type.<br/>ClickHouse tries to cast value from dictionary to the specified data type. For example, for MySQL, the field might be `TEXT`, `VARCHAR`, or `BLOB` in the MySQL source table, but it can be uploaded as `String` in ClickHouse.<br/>[Nullable](../../data_types/nullable.md) is not supported. | Yes
`null_value` | Default value for a non-existing element.<br/>In the example, it is an empty string. You cannot use `NULL` in this field. | Yes
`expression` | [Expression](../syntax.md#syntax-expressions) that ClickHouse executes on the value.<br/>The expression can be a column name in the remote SQL database. Thus, you can use it to create an alias for the remote column.<br/><br/>Default value: no expression. | No
`hierarchical` | Hierarchical support. Mirrored to the parent identifier.<br/><br/>Default value: `false`. | No
`injective` | Flag that shows whether the `id -> attribute` image is injective.<br/>If `true`, then you can optimize the `GROUP BY` clause.<br/><br/>Default value: `false`. | No
`injective` | Flag that shows whether the `id -> attribute` image is [injective](https://en.wikipedia.org/wiki/Injective_function).<br/>If `true`, ClickHouse can automatically place after the `GROUP BY` clause the requests to dictionaries with injection. Usually it significantly reduces the amount of such requests.<br/><br/>Default value: `false`. | No
`is_object_id` | Flag that shows whether the query is executed for a MongoDB document by `ObjectID`.<br/><br/>Default value: `false`. | No
[Original article](https://clickhouse.yandex/docs/en/query_language/dicts/external_dicts_dict_structure/) <!--hide-->
# Ключ и поля словаря
Секция `<structure>` описывает ключ словаря и поля, доступные для запросов.
......@@ -24,25 +23,24 @@
В структуре описываются столбцы:
- `<id>` - [ключевой столбец](external_dicts_dict_structure.md).
- `<attribute>` - [столбец данных](external_dicts_dict_structure.md). Столбцов может быть много.
- `<id>`[ключевой столбец](external_dicts_dict_structure.md#ext_dict_structure-key).
- `<attribute>`[столбец данных](external_dicts_dict_structure.md#ext_dict_structure-attributes). Столбцов может быть много.
## Ключ
## Ключ {#ext_dict_structure-key}
ClickHouse поддерживает следующие виды ключей:
- Числовой ключ. Формат UInt64. Описывается в теге `<id>`.
- Составной ключ. Набор значений разного типа. Описывается в теге `<key>`.
- Числовой ключ. UInt64. Описывается в теге `<id>`.
- Составной ключ. Набор значений разного типа. Описывается в теге `<key>`.
Структура может содержать либо `<id>` либо `<key>`.
!!! attention "Обратите внимание"
!!! warning "Обратите внимание"
Ключ не надо дополнительно описывать в атрибутах.
### Числовой ключ
Формат: `UInt64`.
Тип: `UInt64`.
Пример конфигурации:
......@@ -54,11 +52,11 @@ ClickHouse поддерживает следующие виды ключей:
Поля конфигурации:
- name - имя столбца с ключами.
- `name` имя столбца с ключами.
### Составной ключ
Ключом может быть кортеж (`tuple`) из полей произвольных типов. [layout](external_dicts_dict_layout.md) в этом случае должен быть `complex_key_hashed` или `complex_key_cache`.
Ключoм может быть кортеж (`tuple`) из полей произвольных типов. В этом случае [layout](external_dicts_dict_layout.md) должен быть `complex_key_hashed` или `complex_key_cache`.
!!! tip "Совет"
Cоставной ключ может состоять из одного элемента. Это даёт возможность использовать в качестве ключа, например, строку.
......@@ -93,7 +91,7 @@ ClickHouse поддерживает следующие виды ключей:
...
<attribute>
<name>Name</name>
<type>Type</type>
<type>ClickHouseDataType</type>
<null_value></null_value>
<expression>rand64()</expression>
<hierarchical>true</hierarchical>
......@@ -105,13 +103,14 @@ ClickHouse поддерживает следующие виды ключей:
Поля конфигурации:
- `name` - Имя столбца.
- `type` - Тип столбца. Задает способ интерпретации данных в источнике. Например, в случае MySQL, в таблице-источнике поле может быть `TEXT`, `VARCHAR`, `BLOB`, но загружено может быть как `String`.
- `null_value` - Значение по умолчанию для несуществующего элемента. В примере - пустая строка.
- `expression` - Атрибут может быть выражением. Тег не обязательный.
- `hierarchical` - Поддержка иерархии. Отображение в идентификатор родителя. По умолчанию, `false`.
- `injective` - Признак инъективности отображения `id -> attribute`. Если `true`, то можно оптимизировать `GROUP BY`. По умолчанию, `false`.
- `is_object_id` - Признак того, что запрос выполняется к документу MongoDB по `ObjectID`.
| Тег | Описание | Обязательный |
| ---- | ------------- | --------- |
| `name` | Имя столбца. | Да |
| `type` | Тип данных ClickHouse.<br/>ClickHouse пытается привести значение из словаря к заданному типу данных. Например, в случае MySQL, в таблице-источнике поле может быть `TEXT`, `VARCHAR`, `BLOB`, но загружено может быть как `String`. [Nullable](../../data_types/nullable.md) не поддерживается. | Да |
| `null_value` | Значение по умолчанию для несуществующего элемента.<br/>В примере это пустая строка. Нельзя указать значение `NULL`. | Да |
| `expression` | [Выражение](../syntax.md#syntax-expressions), которое ClickHouse выполняет со значением.<br/>Выражением может быть имя столбца в удаленной SQL базе. Таким образом, вы можете использовать его для создания псевдонима удаленного столбца.<br/><br/>Значение по умолчанию: нет выражения. | Нет |
| `hierarchical` | Поддержка иерархии. Отображение в идентификатор родителя.<br/><br/>Значение по умолчанию: `false`. | Нет |
| `injective` | Признак [инъективности](https://ru.wikipedia.org/wiki/Инъекция_(математика)) отображения `id -> attribute`. <br/>Если `true`, то обращения к словарям с включенной инъективностью могут быть автоматически переставлены ClickHouse за стадию `GROUP BY`, что как правило существенно сокращает их количество.<br/><br/>Значение по умолчанию: `false`. | Нет |
| `is_object_id` | Признак того, что запрос выполняется к документу MongoDB по `ObjectID`.<br/><br/>Значение по умолчанию: `false`. | Нет |
[Оригинальная статья](https://clickhouse.yandex/docs/ru/query_language/dicts/external_dicts_dict_structure/) <!--hide-->
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册