flat

简介: flat

flat 字典是所有类型中性能最高的字典类型,它只能使用 UInt64 数值型 key 。顾名思义, flat 字典的数据在内存中使用数组结构保存,数组的初始大小为 1024 ,上限为 500 000 ,这意味着它最多只能保存 500 000 行数据。如果在创建字典时数据量超出其上限,那么字典会创建失败。如下所示是通过手动创建的 flat 字典配置文件。


/etc/clickhouse-server 目录下新建 test_flat_dictionary.xml 文件,写入如下内容:

<?xml version="1.0"?>
<dictionaries>
  <dictionary>
    <name>test_flat_dict</name>
    <source>
      <!-- 准备好的测试数据 -->
      <file>
        <path>/var/lib/clickhouse/dictionaries_lib/organization.csv</path>
        <format>CSV</format>
      </file>
    </source>
    <layout>
      <flat />
    </layout>
    <!-- 与测试数据的结构对应 -->
    <structure>
      <id>
        <name>id</name>
      </id>
      <attribute>
        <name>code</name>
        <type>String</type>
        <null_value></null_value>
      </attribute>
      <attribute>
        <name>name</name>
        <type>String</type>
        <null_value></null_value>
      </attribute>
    </structure>
    <lifetime>
      <min>300</min>
      <max>360</max>
    </lifetime>
  </dictionary>
</dictionaries>点击复制复制失败已复制


写入文件后无需重启ClickHouse 就会自动识别到这个文件,并建立字典。


在上述的配置中, source 数据源是 CSV 格式的文件, structure 数据结构与其对应。查验 system.dictionaries 系统表后,能够看到 flat 字典已经创建成功。

$ SELECT name, type, key, attribute.names, attribute.types FROM system.dictionaries;
┌─name───────────┬─type─┬─key────┬─attribute.names─┬─attribute.types─────┐
│ test_flat_dict │      │ UInt64 │ ['code','name'] │ ['String','String'] │
└────────────────┴──────┴────────┴─────────────────┴─────────────────────
目录
相关文章
|
9月前
|
存储 Java 数据库
windows server2016搭建AD域服务器
windows server2016搭建AD域服务器
489 72
|
9月前
|
人工智能 自然语言处理 搜索推荐
年度评选 | 2024年客服系统6大品牌
在2024年的客服系统市场中,合力亿捷等服务商品牌展现了各自在技术研发、产品创新和行业应用等方面的卓越实力。
286 1
|
人工智能 监控 安全
揭秘AI技术在智能家居中的应用
【9月更文挑战第6天】本文深入探讨了AI技术如何在智能家居领域大放异彩。从智能语音助手到自动化家居控制,再到安全监控和能源管理,AI技术正在改变我们的生活方式。文章还将通过代码示例,展示如何利用AI技术实现家居自动化控制。
573 5
|
监控 BI 数据处理
RPA技术在金融领域的应用?
【8月更文挑战第4天】RPA技术在金融领域的应用?
285 1
|
数据可视化 Python
利用Matplotlib绘制数据可视化图表
**摘要:** 本文介绍了Python的绘图库Matplotlib在数据分析和科学计算中的重要性。Matplotlib是一个开源库,提供类似MATLAB的接口,支持静态、动态和交互式图表的绘制,并能保存为多种格式。文章详细讲解了Matplotlib的基本用法,包括安装库、导入模块和绘制简单折线图的步骤。还展示了如何绘制柱状图并添加数据标签。通过这些例子,读者可以了解如何利用Matplotlib进行数据可视化,并对其进行自定义以满足特定需求。
207 4
|
机器学习/深度学习 运维 监控
函数计算产品使用问题之如何解决SD插件安装后不显示的问题
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
208 0
|
存储 API 开发工具
oss数据解密与下载
阿里云OSS提供服务器端加密(SSE-OSS/SSE-KMS)功能,保证静态数据安全。下载加密对象时,OSS自动解密并返回原始内容。确保下载请求者有相应权限,尤其是使用SSE-KMS时。可通过SDK、图形化工具或编程框架集成下载,发起请求时,OSS自动处理解密,客户端接收解密后的数据。权限、下载方式选择及请求发起是关键步骤。
487 1
|
弹性计算 运维 负载均衡
阿里云轻量应用服务器产品简介、收费标准与活动价格、搭建个人博客教程参考
阿里云轻量应用服务器是深受个人和普通企业用户亲耐的一款轻量级云服务器产品,提供精品应用一键部署,支持一站式的域名、网站、安全、运维、应用管理等服务,极大优化搭建简单应用的体验,降低了入门级用户使用云计算产品的门槛。本文来介绍全方位介绍一下阿里云轻量应用服务器的产品知识,以及最新的收费标准与活动价格情况,另外再奉上使用轻量应用服务器搭建个人博客的建站教程,以供参考。
阿里云轻量应用服务器产品简介、收费标准与活动价格、搭建个人博客教程参考
|
机器学习/深度学习 分布式计算 并行计算
当 Mars 遇上 RAPIDS:用 GPU 以并行的方式加速数据科学
在数据科学世界,Python 是一个不可忽视的存在,且有愈演愈烈之势。而其中主要的使用工具,包括 Numpy、Pandas 和 Scikit-learn 等。 Mars 在 MaxCompute 团队内部诞生,它的主要目标就是让 Numpy、pandas 和 scikit-learn 等数据科学的库能够并行和分布式执行,支持通过 RAPIDS 平台用 GPU 加速数据科学。
2295 0
当 Mars 遇上 RAPIDS:用 GPU 以并行的方式加速数据科学
|
算法 应用服务中间件 nginx
QPS 提升60%,揭秘阿里巴巴轻量级开源 Web 服务器 Tengine 负载均衡算法
前言 在阿里七层流量入口接入层(Application Gateway)场景下, Nginx 官方的Smooth Weighted Round-Robin( SWRR )负载均衡算法已经无法再完美施展它的技能。
9435 104