ClickHouse/docs/fr/sql-reference/dictionaries/internal-dicts.md
Ivan Blinkov d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00

3.6 KiB
Raw Blame History

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 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.
  • 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”.

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:

  • région de lID (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 nont pas de valeurs
  • population (UInt32) — optional column

regions_names_*.txt: TabSeparated (pas den-tête), colonnes:

  • région de lID (UInt32)
  • nom de la région (String) — Cant 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, lensemble des dictionnaires nest 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. 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.

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.

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.

Article Original