DB::Exception:可刷新的物化视图是实验性的。启用allow_experimental_refreshable_materialized_view来使用

问题描述 投票:0回答:1

想要在 clickhouse DB 上创建物化视图,下面是我的 sqlQuery :

CREATE MATERIALIZED VIEW IF NOT EXISTS tutorial.AL_DEMAND_views02
REFRESH EVERY 1 MINUTE
ENGINE = ReplacingMergeTree()
ORDER BY "Month"
POPULATE
AS
SELECT
    "Month",
    SUM("Values") AS "Values"
FROM
   (SELECT * FROM (select * from tutorial.AL_DEMAND))
GROUP BY
    "Month";
Error I got :
SQL Error [344] [07000]: Code: 344. DB::Exception: Refreshable materialized views are experimental. Enable allow_experimental_refreshable_materialized_view to use. (SUPPORT_IS_DISABLED) (version 23.12.3.40 (official build))
, server ClickHouseNode [uri=http://XX.XX.X.XX:8123/default, options={use_server_time_zone=false,use_time_zone=false}]@-543127256

从 DBEaver 我能够创建视图,因为我可以一次运行 2 个查询,下面是正在创建视图的查询。

SET allow_experimental_refreshable_materialized_view = 1;
CREATE MATERIALIZED VIEW IF NOT EXISTS tutorial.AL_DEMAND_views02
REFRESH EVERY 1 MINUTE
ENGINE = ReplacingMergeTree()
ORDER BY "Month"
POPULATE
AS
SELECT
    "Month",
    SUM("Values") AS "Values"
FROM
   (SELECT * FROM (select * from tutorial.AL_DEMAND))
GROUP BY
    "Month";

从 Java 代码中,如何创建物化视图

clickhouse
1个回答
0
投票

您可以使用用户配置文件或使用

set
命令启用此设置,但对于设置命令,您需要使用连接字符串中的 session_id 设置启用持久会话。

无论如何,最简单的方法是使用默认配置文件:

# cat /etc/clickhouse-server/users.d/allow_experimental_refreshable_materialized_view.xml

<?xml version="1.0" ?>
<clickhouse>
    <profiles>
        <default>
            <allow_experimental_refreshable_materialized_view>1</allow_experimental_refreshable_materialized_view>
        </default>
    </profiles>
</clickhouse>

session_id:https://github.com/ClickHouse/clickhouse-java/issues/1017

© www.soinside.com 2019 - 2024. All rights reserved.