structure describe la clave del diccionario y los campos disponibles para las consultas.
Descripción XML:
<id>— Columna clave<attribute>— Columna de datos: puede haber varios atributos.
PRIMARY KEY— Columna claveAttrName AttrType— Columna de datos. Puede haber múltiples atributos.
Clave
- Clave numérica.
UInt64. Se define en la etiqueta<id>o mediante la palabra clavePRIMARY KEY. - Clave compuesta. Conjunto de valores de distintos tipos. Se define en la etiqueta
<key>o mediante la palabra clavePRIMARY KEY.
<id> o <key>. La sentencia DDL debe contener una única PRIMARY KEY.
No debe describir la clave como un atributo.
Clave numérica
UInt64.
Ejemplo de configuración:
name– El nombre de la columna con claves.
PRIMARY KEY– El nombre de la columna que contiene las claves.
Clave compuesta
tuple formada por campos de cualquier tipo. El layout en este caso debe ser complex_key_hashed o complex_key_cache.
La estructura de la clave se define en el elemento <key>. Los campos de la clave se especifican en el mismo formato que los atributos del diccionario. Ejemplo:
dictGet*, se pasa una tupla como clave. Ejemplo: dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2)).
Atributos
| Etiqueta | Descripción | Obligatorio |
|---|---|---|
name | Nombre de la columna. | Sí |
type | Tipo de dato de ClickHouse: UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64, Float32, Float64, UUID, Decimal32, Decimal64, Decimal128, Decimal256,Date, Date32, DateTime, DateTime64, String, Array. ClickHouse intenta convertir el valor del diccionario al tipo de dato especificado. Por ejemplo, en MySQL, el field puede ser TEXT, VARCHAR o BLOB en la tabla de origen de MySQL, pero puede cargarse como String en ClickHouse.Actualmente, Nullable se admite para los diccionarios Flat, Hashed, ComplexKeyHashed, Direct, ComplexKeyDirect, RangeHashed, Polygon, Cache, ComplexKeyCache, SSDCache, SSDComplexKeyCache. En los diccionarios IPTrie, no se admiten tipos Nullable. | Sí |
null_value | Valor predeterminado para un elemento que no existe. En el ejemplo, es una cadena vacía. El valor NULL solo puede usarse para los tipos Nullable (consulte la línea anterior con la descripción de los tipos). | Sí |
expression | Expresión que ClickHouse ejecuta sobre el valor. La expresión puede ser un nombre de columna en la base de datos SQL remota. Por lo tanto, puede usarla para crear un alias para la columna remota. Valor predeterminado: sin expresión. | No |
hierarchical | Si es true, el atributo contiene el valor de la clave padre de la clave actual. Consulte Hierarchical Dictionaries.Valor predeterminado: false. | No |
injective | Indicador que muestra si el mapeo id -> attribute es inyectivo.Si es true, ClickHouse puede colocar automáticamente, después de la cláusula GROUP BY, las solicitudes a diccionarios con esta propiedad. Por lo general, esto reduce significativamente la cantidad de dichas solicitudes.Valor predeterminado: false. | No |
is_object_id | Indicador que muestra si la consulta se ejecuta para un documento de MongoDB mediante ObjectID.Valor predeterminado: false. |