Help wanted!

The following content of this documentation page has been machine-translated. But unlike other websites, it is not done on the fly. This translated text lives on GitHub repository alongside main ClickHouse codebase and waits for fellow native speakers to make it more human-readable. You can also use the original English version as a reference.

Help ClickHouse documentation by editing this page

外部字典

您可以从各种数据源添加自己的字典。 字典的数据源可以是本地文本或可执行文件、HTTP(s)资源或其他DBMS。 有关详细信息,请参阅 “外部字典的来源”.

ClickHouse:

  • 完全或部分存储在RAM中的字典。
  • 定期更新字典并动态加载缺失的值。 换句话说,字典可以动态加载。
  • 允许创建外部字典与xml文件或 DDL查询.

外部字典的配置可以位于一个或多个xml文件中。 配置的路径在指定 dictionaries_config 参数。

字典可以在服务器启动或首次使用时加载,具体取决于 dictionaries_lazy_load 设置。

字典 系统表包含有关在服务器上配置的字典的信息。 对于每个字典,你可以在那里找到:

  • 字典的状态。
  • 配置参数。
  • 度量指标,如为字典分配的RAM量或自成功加载字典以来的查询数量。

字典配置文件具有以下格式:

  1. <yandex>
  2. <comment>An optional element with any content. Ignored by the ClickHouse server.</comment>
  3. <!--Optional element. File name with substitutions-->
  4. <include_from>/etc/metrika.xml</include_from>
  5. <dictionary>
  6. <!-- Dictionary configuration. -->
  7. <!-- There can be any number of <dictionary> sections in the configuration file. -->
  8. </dictionary>
  9. </yandex>

你可以 配置 同一文件中的任意数量的字典。

字典的DDL查询 在服务器配置中不需要任何其他记录。 它们允许使用字典作为一流的实体,如表或视图。

注意

您可以通过在一个小字典中描述它来转换小字典的值 SELECT 查询(见 变换 功能)。 此功能与外部字典无关。

另请参阅

原始文章