跳转到主要内容

说明

Apache Arrow 提供两种内置的列式存储格式。ClickHouse 支持对这些格式进行读写。 Arrow 是 Apache Arrow 的“文件模式”格式,专为内存中的随机访问而设计。

数据类型匹配

下表列出了支持的数据类型,以及它们在 INSERTSELECT 查询中与 ClickHouse 数据类型 的对应关系。 Array 可以嵌套,其参数也可以是 Nullable 类型的值。TupleMap 类型同样可以嵌套。 DICTIONARY 类型支持用于 INSERT 查询;对于 SELECT 查询,则提供了 output_format_arrow_low_cardinality_as_dictionary 设置,可将 LowCardinality 类型输出为 DICTIONARY 类型。请注意,LowCardinality 字典中可能包含未使用的值,这可能导致输出的 Arrow DICTIONARY 中也出现未使用的值。 不支持的 Arrow 数据类型:
  • FIXED_SIZE_BINARY
  • JSON
  • UUID
  • ENUM.
ClickHouse 表中列的数据类型不必与对应的 Arrow 数据字段完全一致。插入数据时,ClickHouse 会根据上表解释数据类型,然后将数据转换为为 ClickHouse 表中列设置的数据类型。

示例用法

插入数据

你可以使用以下命令,将文件中的 Arrow 数据插入 ClickHouse 表:

选择数据

您可以使用以下命令从 ClickHouse 表中查询数据,并将其以 Arrow 格式保存到文件中:

格式设置

最后修改于 2026年6月19日