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'] │
└────────────────┴──────┴────────┴─────────────────┴─────────────────────
目录
相关文章
200Echarts - 自定义系列(Use custom series to draw wind vectors)
200Echarts - 自定义系列(Use custom series to draw wind vectors)
33 0
使用flat()和flatMap来打平数组吧
# 引言 往往在开发中我们可能会遇到一些不平铺的,结构或是嵌套比较复杂的数组数据,那么我们面对这种数据的时候应该怎么优雅高效的处理他们的,今天让我们来学习一下使用flat()和flatMap来打平数组吧 # 使用flat()和flatMap来打平数组吧 今天我们来一起学习一下使用flat()和flatMap打平数组 在ES2019中,flat()方法用于创建并返回一个新数组,这个新数组包含于他调用flat()的数组相同的元素,只不过其中任何本身也是数组的元素会被打平填充到返回的数组中。例如: ``` [1,[2,3]].flat() //会变成[1,2,3] [1,[2,[3]]].
Only Tensors of floating point and complex dtype can require gradients问题解决方案
Only Tensors of floating point and complex dtype can require gradients问题解决方案
390 0
Only Tensors of floating point and complex dtype can require gradients问题解决方案
Array.prototype.flat()
Array.prototype.flat()
88 0
|
机器学习/深度学习 计算机视觉 索引
FPT: Feature Pyramid Transfomer
本文介绍了一个在空间和尺度上全活跃特征交互(fully active feature interaction across both space and scales)的特征金字塔transformer模型,简称FPT。该模型将transformer和Feature Pyramid结合,可用于像素级的任务,在论文中作者进行了目标检测和实力分割,都取得了比较好的效果。为了讲解清楚,若有transformer不懂的读者,关于transformer可以在公众号中看另一篇文《Transformer解读》
FPT: Feature Pyramid Transfomer
成功解决ValueError: Dimension 1 in both shapes must be equal, but are 1034 and 1024. Shapes are [100,103
成功解决ValueError: Dimension 1 in both shapes must be equal, but are 1034 and 1024. Shapes are [100,103
Can not squeeze dim[1], expected a dimension of 1, got 21
Can not squeeze dim[1], expected a dimension of 1, got 21
472 0
|
算法 图形学