ClickHouse/docs/fr/sql-reference/dictionaries/internal-dicts.md

56 lines
3.6 KiB
Markdown
Raw Normal View History

2020-03-30 12:48:55 +00:00
---
machine_translated: true
2020-04-04 09:15:31 +00:00
machine_translated_rev: f865c9653f9df092694258e0ccdd733c339112f5
toc_priority: 39
toc_title: Dictionnaires Internes
2020-03-30 12:48:55 +00:00
---
# Dictionnaires Internes {#internal_dicts}
2020-03-30 12:48:55 +00:00
ClickHouse contient une fonction intégrée pour travailler avec une géobase.
Cela vous permet de:
- Utilisez LID dune région pour obtenir son nom dans la langue souhaitée.
- Utilisez LID dune région pour obtenir LID dune ville, dune région, dun district fédéral, dun pays ou dun continent.
- Vérifiez si une région fait partie dune autre région.
2020-03-30 12:48:55 +00:00
- Obtenez une chaîne de régions parentes.
Toutes les fonctions prennent en charge “translocality,” la capacité dutiliser simultanément différentes perspectives sur la propriété de la région. Pour plus dinformations, consultez la section “Functions for working with Yandex.Metrica dictionaries”.
2020-03-30 12:48:55 +00:00
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 den-tête), colonnes:
2020-03-30 12:48:55 +00:00
- région de lID (`UInt32`)
2020-03-30 12:48:55 +00:00
- 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 nont pas de valeurs
2020-03-30 12:48:55 +00:00
- population (`UInt32`) — optional column
`regions_names_*.txt`: TabSeparated (pas den-tête), colonnes:
2020-03-30 12:48:55 +00:00
- région de lID (`UInt32`)
- nom de la région (`String`) — Cant contain tabs or line feeds, even escaped ones.
2020-03-30 12:48:55 +00:00
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, lensemble des dictionnaires nest pas mis à jour.
2020-03-30 12:48:55 +00:00
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.
Lintervalle 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, lerreur est écrite dans le journal du serveur et les requêtes continuent dutiliser lancienne version des dictionnaires.
2020-03-30 12:48:55 +00:00
Nous vous recommandons de mettre à jour périodiquement les dictionnaires avec la géobase. Lors dune 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.
2020-03-30 12:48:55 +00:00
Il existe également des fonctions pour travailler avec les identifiants du système dexploitation et Yandex.Moteurs de recherche Metrica, mais ils ne devraient pas être utilisés.
2020-03-30 12:48:55 +00:00
[Article Original](https://clickhouse.tech/docs/en/query_language/dicts/internal_dicts/) <!--hide-->