【问题标题】:Clickhouse Materialised view is not triggeredClickhouse物化视图未触发
【发布时间】:2021-12-06 04:13:45
【问题描述】:

我创建了一个以 JSONAsString 格式读取 kafka 主题的表

CREATE TABLE tracking_log_kafka_raw
(
    jsonString String
) ENGINE = Kafka
      SETTINGS
          kafka_broker_list = 'kafka:9092',
          kafka_topic_list = 'tracking_log_new',
          kafka_group_name = 'test_1',
          kafka_format = 'JSONAsString';

决赛桌

CREATE TABLE k_t_res
(
    jsonString String
) ENGINE = MergeTree()
      ORDER BY jsonString
      SETTINGS index_granularity = 8192;

物化视图

CREATE MATERIALIZED VIEW test_c TO k_t_res
AS
SELECT *
FROM tracking_log_kafka_raw;

但是当我写入 kafka 时,消息进入 tracking_log_kafka_raw 表,但它们没有被触发 mat view ,所以没有任何东西进入最终 k_t_res 表。

我尝试使用 JSONEachRow 格式并且一切正常,但是 kafka 中的消息格式不允许使用它。

【问题讨论】:

  • 错误日志中应该有条目,如果您演示它们,这将极大地帮助解决问题。路径应该像/ var / log / clickhouse-server / clickhouse-server.err.log
  • 我在写卡夫卡的时候看了日志,没有错误。有连接超时相关的错误:{} <Warning> StorageKafka (tracking_log_kafka_raw): [rdk:MAXPOLL] [thrd:main]: Application maximum poll interval (300000ms) exceeded by 45ms (adjust max.poll.interval.ms for long-running message processing): leaving group
  • 嗯,既然消息是用Kafka引擎入表的,那么读取kafka的时候就不会出错了。显然从这个表转移到k_t_res的时候会出错,很可能是字段类型不兼容,在物化视图这边需要强制转换类型。
  • 听起来不错,但我不明白为什么类型不兼容,到处都指定了String。我也尝试使用 JSONExtractString(jsonString, 'guid') 返回字符串字段

标签: apache-kafka clickhouse materialized-views


【解决方案1】:

问题在于使用的 clickhouse 版本。最初使用 21.9.4.35,切换到 20.10.6.27 后一切正常

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 2021-07-24
    • 2021-10-09
    • 2019-01-28
    • 2018-11-10
    • 1970-01-01
    • 2021-01-09
    • 2021-06-13
    • 2021-10-14
    相关资源
    最近更新 更多