Какие типы полей есть в Clickhouse
ClickHouse поддерживает разнообразные типы данных для эффективной работы с различными типами информации. Вот основные типы полей, которые можно использовать в ClickHouse:
1. Числовые типы:
- Целые числа:
Int8: 8-битное целое число, от -128 до 127.Int16: 16-битное целое число, от -32,768 до 32,767.Int32: 32-битное целое число, от -2,147,483,648 до 2,147,483,647.Int64: 64-битное целое число, от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807.UInt8: 8-битное беззнаковое целое число, от 0 до 255.UInt16: 16-битное беззнаковое целое число, от 0 до 65,535.UInt32: 32-битное беззнаковое целое число, от 0 до 4,294,967,295.UInt64: 64-битное беззнаковое целое число, от 0 до 18,446,744,073,709,551,615.
- Числа с плавающей точкой:
Float32: 32-битное число с плавающей точкой (одинарная точность).Float64: 64-битное число с плавающей точкой (двойная точность).
- Числа с фиксированной точностью:
Decimal(p, s): Число с фиксированной точностью, гдеp— общая точность, аs— количество знаков после запятой. Например,Decimal(10, 2)может содержать числа с 10 знаками, из которых 2 знака после запятой.
2. Строковые типы:
- Строки:
String: Строка произвольной длины. Хранит символы в кодировке UTF-8.FixedString(n): Строка фиксированной длиныn. Если строка меньше указанной длины, то она будет дополнена пробелами.
3. Дата и время:
- Дата и время:
Date: Дата в форматеYYYY-MM-DD.DateTime: Дата и время в форматеYYYY-MM-DD HH:MM:SS. Местное время.DateTime64: Дата и время с точностью до миллисекунд или микросекунд, например,DateTime64(3)— с точностью до миллисекунд.
4. Логические типы:
- Логический тип:
Boolean: Логический тип, может бытьtrueилиfalse.
5. Массивы и коллекции:
- Массивы:
Array(T): Массив элементов типаT. Например,Array(Int32)для массива целых чисел.
- Множества:
Set(T): Множество элементов типаT(с уникальными значениями). Например,Set(Int32).
- Кортежи:
Tuple(T1, T2, ...): Кортеж с фиксированными типами элементов. Например,Tuple(Int32, String).
- Map (карты):
Map(K, V): Коллекция пар ключ-значение, гдеK— тип ключа, аV— тип значения.
6. Типы для работы с IP-адресами:
- IP-адреса:
IPv4: Тип для хранения IPv4-адресов.IPv6: Тип для хранения IPv6-адресов.
7. Типы для работы с UUID:
- UUID: Универсальный уникальный идентификатор (UUID). Этот тип хранит уникальные идентификаторы.
8. Типы для работы с JSON:
- JSON: Для хранения данных в формате JSON.
- JSONEachRow: Тип, который позволяет хранить данные в формате JSON с одной строкой на каждую запись.
9. Типы для работы с бинарными данными:
- UUID: Для хранения UUID в бинарном формате.
- Binary: Для хранения произвольных бинарных данных.
10. Типы для работы с географическими данными:
- GeoPoint: Тип для хранения географической точки (широта, долгота).
- GeoPolygon: Тип для хранения географического полигона.
11. Типы для работы с материализованными представлениями:
- MaterializedView: Специальный тип для представлений, которые обновляются автоматически при изменении данных.
Пример использования типов:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
CREATE TABLE example_table ( id Int32, name String, age UInt8, created_at DateTime, is_active Boolean, scores Array(Int32), metadata Map(String, String) ) ENGINE = MergeTree() ORDER BY id; |
Заключение:
ClickHouse предоставляет широкий набор типов данных для различных типов информации, начиная от чисел и строк до более сложных типов, таких как массивы, кортежи, карты и типы для работы с географическими данными. Выбор типа данных зависит от требований к данным и эффективности запросов.
Recommended Posts
ClickHouse в вопросах и ответах
28.04.2024
