mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-17 13:13:36 +00:00
f315e5079b
* replace exit with assert in test_single_page * improve save_raw_single_page docs option * More grammar fixes * "Built from" link in new tab * fix mistype * Example of include in docs * add anchor to meeting form * Draft of translation helper * WIP on translation helper * Replace some fa docs content with machine translation * add normalize-en-markdown.sh * normalize some en markdown * normalize some en markdown * admonition support * normalize * normalize * normalize * support wide tables * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * lightly edited machine translation of introdpection.md * lightly edited machhine translation of lazy.md * WIP on translation utils * Normalize ru docs * Normalize other languages * some fixes * WIP on normalize/translate tools * add requirements.txt * [experimental] add es docs language as machine translated draft * remove duplicate script * Back to wider tab-stop (narrow renders not so well) * Links to nowhere check at least for English * use f string * More complete es translation
168 lines
6.1 KiB
Markdown
168 lines
6.1 KiB
Markdown
# GraphiteMergeTree {#graphitemergetree}
|
||
|
||
Este motor está diseñado para el adelgazamiento y la agregación / promedio (rollup) [Grafito](http://graphite.readthedocs.io/en/latest/index.html) datos. Puede ser útil para los desarrolladores que desean usar ClickHouse como almacén de datos para Graphite.
|
||
|
||
Puede utilizar cualquier motor de tabla ClickHouse para almacenar los datos de grafito 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 Grafito.
|
||
|
||
El motor hereda propiedades de [Método de codificación de datos:](mergetree.md).
|
||
|
||
## Creación de una tabla {#creating-table}
|
||
|
||
``` sql
|
||
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 [CREAR TABLA](../../query_language/create.md#create-table-query) 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` — Nombre de la sección en el archivo de configuración, donde se establecen las reglas de acumulación.
|
||
|
||
**Cláusulas de consulta**
|
||
|
||
Al crear un `GraphiteMergeTree` mesa, la misma [clausula](mergetree.md#table_engine-mergetree-creating-a-table) se requieren, como al crear un `MergeTree` tabla.
|
||
|
||
<details markdown="1">
|
||
|
||
<summary>Método obsoleto para crear una tabla</summary>
|
||
|
||
!!! attention "Atención"
|
||
No use este método en proyectos nuevos y, si es posible, cambie los proyectos antiguos al método descrito anteriormente.
|
||
|
||
``` sql
|
||
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` — Nombre de la sección en el archivo de configuración, donde se establecen las reglas de acumulación.
|
||
|
||
</details>
|
||
|
||
## Configuración acumulativa {#rollup-configuration}
|
||
|
||
La configuración del paquete acumulativo está definida por [graphite\_rollup](../server_settings/settings.md#server_settings-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 {#required-columns}
|
||
|
||
- `path_column_name` — El nombre de la columna que almacena el nombre de la métrica (sensor de grafito). Valor predeterminado: `Path`.
|
||
- `time_column_name` — El nombre de la columna que almacena el tiempo de medición de la métrica. Valor predeterminado: `Time`.
|
||
- `value_column_name` — El nombre de la columna que almacena el valor de la métrica a la hora establecida en `time_column_name`. Valor predeterminado: `Value`.
|
||
- `version_column_name` — El nombre de la columna que almacena la versión de la métrica. Valor predeterminado: `Timestamp`.
|
||
|
||
### Patrón {#patterns}
|
||
|
||
Estructura del `patterns` apartado:
|
||
|
||
``` text
|
||
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`– Un patrón para el nombre de la métrica.
|
||
- `age` – La edad mínima de los datos en segundos.
|
||
- `precision`– Cómo definir con precisión la edad de los datos en segundos. Debe ser un divisor para 86400 (segundos en un día).
|
||
- `function` – El nombre de la función de agregación que se aplicará a los datos cuya antigüedad se encuentra dentro del intervalo `[age, age + precision]`.
|
||
|
||
### Ejemplo de configuración {#configuration-example}
|
||
|
||
``` xml
|
||
<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>
|
||
```
|
||
|
||
[Artículo Original](https://clickhouse.tech/docs/es/operations/table_engines/graphitemergetree/) <!--hide-->
|