* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
6.2 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
38 | GraphiteMergeTree |
GraphiteMergeTree
Este motor está diseñado para el adelgazamiento y la agregación / promedio (rollup) Grafito datos. Puede ser útil para los desarrolladores que desean usar ClickHouse como almacén de datos para Graphite.
Puede usar cualquier motor de tabla ClickHouse para almacenar los datos de Graphite si no necesita un paquete acumulativo, pero si necesita un paquete acumulativo, use GraphiteMergeTree
. El motor reduce el volumen de almacenamiento y aumenta la eficiencia de las consultas de Graphite.
El motor hereda propiedades de Método de codificación de datos:.
Creación de una tabla
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
Path String,
Time DateTime,
Value <Numeric_type>,
Version <Numeric_type>
...
) ENGINE = GraphiteMergeTree(config_section)
[PARTITION BY expr]
[ORDER BY expr]
[SAMPLE BY expr]
[SETTINGS name=value, ...]
Vea una descripción detallada del CREATE TABLE consulta.
Una tabla para los datos de grafito debe tener las siguientes columnas para los siguientes datos:
-
Nombre métrico (sensor de grafito). Tipo de datos:
String
. -
Tiempo de medición de la métrica. Tipo de datos:
DateTime
. -
Valor de la métrica. Tipo de datos: cualquier numérico.
-
Versión de la métrica. Tipo de datos: cualquier numérico.
ClickHouse guarda las filas con la versión más alta o la última escrita si las versiones son las mismas. Otras filas se eliminan durante la fusión de partes de datos.
Los nombres de estas columnas deben establecerse en la configuración acumulativa.
GraphiteMergeTree parámetros
config_section
— Name of the section in the configuration file, where are the rules of rollup set.
Cláusulas de consulta
Al crear un GraphiteMergeTree
mesa, la misma clausula se requieren, como al crear un MergeTree
tabla.
Método obsoleto para crear una tabla
!!! attention "Atención" No use este método en proyectos nuevos y, si es posible, cambie los proyectos antiguos al método descrito anteriormente.
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
EventDate Date,
Path String,
Time DateTime,
Value <Numeric_type>,
Version <Numeric_type>
...
) ENGINE [=] GraphiteMergeTree(date-column [, sampling_expression], (primary, key), index_granularity, config_section)
Todos los parámetros excepto config_section
el mismo significado que en MergeTree
.
config_section
— Name of the section in the configuration file, where are the rules of rollup set.
Configuración acumulativa
La configuración del paquete acumulativo está definida por graphite_rollup parámetro en la configuración del servidor. El nombre del parámetro podría ser cualquiera. Puede crear varias configuraciones y usarlas para diferentes tablas.
Estructura de configuración Rollup:
required-columns
patterns
Columnas requeridas
path_column_name
— The name of the column storing the metric name (Graphite sensor). Default value:Path
.time_column_name
— The name of the column storing the time of measuring the metric. Default value:Time
.value_column_name
— The name of the column storing the value of the metric at the time set intime_column_name
. Valor predeterminado:Value
.version_column_name
— The name of the column storing the version of the metric. Default value:Timestamp
.
Patrón
Estructura del patterns
apartado:
pattern
regexp
function
pattern
regexp
age + precision
...
pattern
regexp
function
age + precision
...
pattern
...
default
function
age + precision
...
!!! warning "Atención" Los patrones deben ser estrictamente ordenados:
1. Patterns without `function` or `retention`.
1. Patterns with both `function` and `retention`.
1. Pattern `default`.
Al procesar una fila, ClickHouse comprueba las reglas en el pattern
apartado. Cada uno de pattern
(incluir default
secciones pueden contener function
parámetro para la agregación, retention
parámetros o ambos. Si el nombre de la métrica coincide con regexp
, las reglas de la pattern
sección (o secciones); de lo contrario, las reglas de la default
sección se utilizan.
Campos para pattern
y default
apartado:
regexp
– A pattern for the metric name.age
– The minimum age of the data in seconds.precision
– How precisely to define the age of the data in seconds. Should be a divisor for 86400 (seconds in a day).function
– The name of the aggregating function to apply to data whose age falls within the range[age, age + precision]
.
Ejemplo de configuración
<graphite_rollup>
<version_column_name>Version</version_column_name>
<pattern>
<regexp>click_cost</regexp>
<function>any</function>
<retention>
<age>0</age>
<precision>5</precision>
</retention>
<retention>
<age>86400</age>
<precision>60</precision>
</retention>
</pattern>
<default>
<function>max</function>
<retention>
<age>0</age>
<precision>60</precision>
</retention>
<retention>
<age>3600</age>
<precision>300</precision>
</retention>
<retention>
<age>86400</age>
<precision>3600</precision>
</retention>
</default>
</graphite_rollup>