* Replace underscores with hyphens * remove temporary code * fix style check * fix collapse
3.6 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | f865c9653f |
39 | Dictionnaires Internes |
Dictionnaires Internes
ClickHouse contient une fonction intégrée pour travailler avec une géobase.
Cela vous permet de:
- Utilisez L’ID d’une région pour obtenir son nom dans la langue souhaitée.
- Utilisez L’ID d’une région pour obtenir L’ID d’une ville, d’une région, d’un district fédéral, d’un pays ou d’un continent.
- Vérifiez si une région fait partie d’une autre région.
- Obtenez une chaîne de régions parentes.
Toutes les fonctions prennent en charge “translocality,” la capacité d’utiliser simultanément différentes perspectives sur la propriété de la région. Pour plus d’informations, consultez la section “Functions for working with Yandex.Metrica dictionaries”.
Les dictionnaires internes sont désactivés dans le package par défaut.
Pour les activer, décommentez les paramètres path_to_regions_hierarchy_file
et path_to_regions_names_files
dans le fichier de configuration du serveur.
La géobase est chargée à partir de fichiers texte.
Place de la regions_hierarchy*.txt
les fichiers dans le path_to_regions_hierarchy_file
répertoire. Ce paramètre de configuration doit contenir le chemin regions_hierarchy.txt
fichier (la hiérarchie régionale par défaut), et les autres fichiers (regions_hierarchy_ua.txt
) doit être situé dans le même répertoire.
Mettre le regions_names_*.txt
les fichiers dans le path_to_regions_names_files
répertoire.
Vous pouvez également créer ces fichiers vous-même. Le format de fichier est le suivant:
regions_hierarchy*.txt
: TabSeparated (pas d’en-tête), colonnes:
- région de l’ID (
UInt32
) - ID de région parent (
UInt32
) - type de région (
UInt8
): 1-continent, 3-pays, 4-district fédéral, 5-région, 6-ville; les autres types n’ont pas de valeurs - population (
UInt32
) — optional column
regions_names_*.txt
: TabSeparated (pas d’en-tête), colonnes:
- région de l’ID (
UInt32
) - nom de la région (
String
) — Can’t contain tabs or line feeds, even escaped ones.
Un tableau plat est utilisé pour stocker dans la RAM. Pour cette raison, les ID ne devraient pas dépasser un million.
Les dictionnaires peuvent être mis à jour sans redémarrer le serveur. Cependant, l’ensemble des dictionnaires n’est pas mis à jour.
Pour les mises à jour, les temps de modification du fichier sont vérifiés. Si un fichier a été modifié, le dictionnaire est mis à jour.
L’intervalle de vérification des modifications est configuré dans le builtin_dictionaries_reload_interval
paramètre.
Les mises à jour du dictionnaire (autres que le chargement lors de la première utilisation) ne bloquent pas les requêtes. Lors des mises à jour, les requêtes utilisent les anciennes versions des dictionnaires. Si une erreur se produit pendant une mise à jour, l’erreur est écrite dans le journal du serveur et les requêtes continuent d’utiliser l’ancienne version des dictionnaires.
Nous vous recommandons de mettre à jour périodiquement les dictionnaires avec la géobase. Lors d’une mise à jour, générez de nouveaux fichiers et écrivez-les dans un emplacement séparé. Lorsque tout est prêt, renommez - les en fichiers utilisés par le serveur.
Il existe également des fonctions pour travailler avec les identifiants du système d’exploitation et Yandex.Moteurs de recherche Metrica, mais ils ne devraient pas être utilisés.