structure décrit la clé du dictionnaire et les champs disponibles pour les requêtes.
Description XML :
<id>— colonne clé<attribute>— colonne de données : il peut y avoir plusieurs attributs.
PRIMARY KEY— Colonne cléAttrName AttrType— Colonne de données. Il peut y avoir plusieurs attributs.
Clé
- Clé numérique.
UInt64. Définie dans la balise<id>ou à l’aide du mot-cléPRIMARY KEY. - Clé composite. Ensemble de valeurs de types différents. Définie dans la balise
<key>ou à l’aide du mot-cléPRIMARY KEY.
<id>, soit <key>. La requête DDL ne doit contenir qu’une seule PRIMARY KEY.
Vous ne devez pas décrire une clé comme un attribut.
Clé numérique
UInt64.
Exemple de configuration :
name– Le nom de la colonne contenant les clés.
PRIMARY KEY– Le nom de la colonne contenant les clés.
Clé composite
tuple composé de champs de n’importe quel type. Le layout doit alors être complex_key_hashed ou complex_key_cache.
La structure de la clé est définie dans l’élément <key>. Les champs de la clé sont spécifiés dans le même format que les attributs du dictionnaire. Exemple :
dictGet*, un tuple est utilisé comme clé. Exemple : dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2)).
Attributs
| Balise | Description | Obligatoire |
|---|---|---|
name | Nom de la colonne. | Oui |
type | Type de données ClickHouse : UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64, Float32, Float64, UUID, Decimal32, Decimal64, Decimal128, Decimal256,Date, Date32, DateTime, DateTime64, String, Array. ClickHouse essaie de convertir la valeur du dictionnaire dans le type de données spécifié. Par exemple, avec MySQL, le champ peut être de type TEXT, VARCHAR ou BLOB dans la table source MySQL, mais être importé en tant que String dans ClickHouse.Nullable est actuellement pris en charge pour les dictionnaires Flat, Hashed, ComplexKeyHashed, Direct, ComplexKeyDirect, RangeHashed, Polygon, Cache, ComplexKeyCache, SSDCache, SSDComplexKeyCache. Dans les dictionnaires IPTrie, les types Nullable ne sont pas pris en charge. | Oui |
null_value | Valeur par défaut pour un élément inexistant. Dans l’exemple, il s’agit d’une chaîne vide. La valeur NULL ne peut être utilisée que pour les types Nullable (voir la ligne précédente décrivant les types). | Oui |
expression | Expression que ClickHouse exécute sur la valeur. L’expression peut être un nom de colonne dans la base de données SQL distante. Vous pouvez donc l’utiliser pour créer un alias pour la colonne distante. Valeur par défaut : aucune expression. | Non |
hierarchical | Si true, l’attribut contient la valeur d’une clé parente pour la clé actuelle. Voir Dictionnaires hiérarchiques.Valeur par défaut : false. | Non |
injective | Indicateur signalant si l’application id -> attribute est injective.Si true, ClickHouse peut automatiquement placer, après la clause GROUP BY, les requêtes adressées aux dictionnaires dont l’application est injective. Cela réduit généralement de manière significative le nombre de ces requêtes.Valeur par défaut : false. | Non |
is_object_id | Indicateur signalant si la requête est exécutée sur un document MongoDB via ObjectID.Valeur par défaut : false. |