如何在clickhouse中使用地图数据类型?如何开启实验性功能?

问题描述

我正在尝试在 clickhouse 中创建一个具有地图数据类型的表,但出现此错误

query: CREATE TABLE table_map (a Map(String,UInt64)) ENGINE=Memory;

Received exception from server (version 21.3.4):
Code: 44. DB::Exception: Received from localhost:9000. DB::Exception: Cannot create table with column 'a' which type is 'Map(String,UInt64)' because experimental Map type is not allowed. Set 'allow_experimental_map_type = 1' setting to enable.

如何开启此功能?我无法弄清楚。

解决方法

您可以在默认配置文件中启用它

cat /etc/clickhouse/users.d/allow_experimental_map_type.xml
<?xml version="1.0"?>
<yandex>
    <profiles>
        <default>
             <allow_experimental_map_type>1</allow_experimental_map_type>
         </default>
    </profiles>
</yandex>