Documentation for polygon-dict: second draft

This commit is contained in:
Anton Kvasha 2020-05-19 19:13:47 +03:00
parent 8f5cb77d0a
commit d7e7ef6197

View File

@ -1,6 +1,6 @@
# Cловари полигонов {#slovari-polygonov} # Cловари полигонов {#slovari-polygonov}
ClickHouse поддерживает словари полигонов. Данный словарь является одной из реализаций внешних словарей, у которого задана специфичная структура. Она выглядит следующим образом: ClickHouse поддерживает словари полигонов. Данный словарь является одной из реализаций внешних словарей, у которого задана специфичная структура. Общий вид кофигурации выглядит следующим образом:
``` xml ``` xml
<dictionary> <dictionary>
@ -26,9 +26,7 @@ ClickHouse поддерживает словари полигонов. Данн
</dictionary> </dictionary>
``` ```
Ключом словаря является сам полигон, что довольно необычно. Соответствущий [DDL-запрос](../../../sql-reference/statements/create.md#create-dictionary-query):
Создание словаря осуществляется запросом:
``` sql ``` sql
CREATE DICTIONARY polygon_dict_name ( CREATE DICTIONARY polygon_dict_name (
key Array(Array(Array(Array(Float64)))), key Array(Array(Array(Array(Float64)))),
@ -39,7 +37,9 @@ PRIMARY KEY key
... ...
``` ```
Для данного словаря доступно несколько типов [хранения в памяти](../../../sql-reference/dictionaries/external-dictionaries/external-dicts-dict-layout), сейчас доступно 4 типа: Ключом словаря является сам полигон, что довольно необычно. Все атрибуты являются опциональными, при желании туда можно добавить более подробную информацию. К примеру, может быть добавлен атрибут, содержащий информацию о числе людей, проживающих в данном регионе.
Для данного словаря доступно несколько типов [хранения в памяти](../../../sql-reference/dictionaries/external-dictionaries/external-dicts-dict-layout.md), сейчас доступно 4 типа:
- POLYGON - POLYGON
@ -49,7 +49,7 @@ PRIMARY KEY key
- ONE_BUCKET_POLYGOM - ONE_BUCKET_POLYGOM
Тип хранения можно выбрать при создании словаря, указав его в соответствующем параметре `LAYOUT`. Тип хранения можно выбрать при создании словаря, указав его в соответствующем параметре `LAYOUT`. Пример `DDL-запроса`:
``` sql ``` sql
CREATE DICTIONARY polygon_dict_name ( CREATE DICTIONARY polygon_dict_name (
@ -62,10 +62,12 @@ LAYOUT(POLYGON());
... ...
``` ```
Пользователь может [загружать свои собственные данные](../../../sql-reference/dictionaries/external-dictionaries/external-dicts-dict-sources), представленные во всех поддерживаемых ClickHouse форматах. Пользователь может [загружать свои собственные данные](../../../sql-reference/dictionaries/external-dictionaries/external-dicts-dict-sources.md), представленные во всех поддерживаемых ClickHouse форматах.
Для осуществления запросов к словарю, пользователю необходимо инициализировать таблицу с интересующими его точками. Это можно сделать следующим образом: Дальнейшие запросы к словарю осуществляются с помощью [dictGet](../../../sql-reference/functions/ext-dict-functions.md/#dictget), где ключами являются заданные точки. Один из возможных решений может быть использование таблицы ClickHouse:
Пользователь инициализирует таблицу с интересующими его точками. Это можно сделать следующим `DDL-запросом`:
``` sql ``` sql
CREATE TABLE points ( CREATE TABLE points (
@ -75,7 +77,7 @@ CREATE TABLE points (
... ...
``` ```
В качестве источника можно указать все поддерживаемые ClickHouse форматы данных. В качестве источника данных таблицы можно указать все поддерживаемые ClickHouse форматы данных, к примеру можно передать в таблицу файл с точками в формате `TSV`.
После этого, для выполнения запросов к словарю можно использовать следующую команду: После этого, для выполнения запросов к словарю можно использовать следующую команду: