• clickhouse读取kafka数据


    #1、需要下载的文件,下载后上传到服务器;如果服务器可以连接互联网,建议参考官方文档,使用在线安装的方式,点击-->:安装 | ClickHouse Docs

    clickhouse-client-20.3.9.70-2.noarch.rpm
    clickhouse-common-static-20.3.9.70-2.x86_64.rpm
    clickhouse-common-static-dbg-20.3.9.70-2.x86_64.rpm
    clickhouse-server-20.3.9.70-2.noarch.rpm

    #2、安装
    rpm -ivh clickhouse-common-static-20.3.9.70-2.x86_64.rpm
    rpm -ivh clickhouse-common-static-dbg-20.3.9.70-2.x86_64.rpm
    rpm -ivh clickhouse-client-20.3.9.70-2.noarch.rpm
    rpm -ivh clickhouse-server-20.3.9.70-2.noarch.rpm

    #3、修改配置:密码为:default
    /etc/clickhouse-server/config.xml
    /etc/clickhouse-server/users.xml

    #4、启动服务
    /etc/init.d/clickhouse-server start

    #5、登录客户端
    clickhouse-client --password 密码明文


    #6、clickhouse的目录结构
    /etc/clickhouse-server:服务端的配置文件目录,包括全局配置 config.xml 和用户配置 users.xml
    /var/lib/clickhouse:默认的数据存储目录,如果是生产环境可以将其修改到空间较大的磁盘挂载路径。可以通过修改
    /etc/clickhouse-server/config.xml 配置文件中 、 标签值来设置。
    /var/log/clickhouse-server:默认的日志保存目录。同样可以通过修改/etc/clickhouse-server/config.xml 配置文件中 和 标签值来设置。
    /etc/cron.d/clickhouse-server:clickhouse server 的一个定时配置,用于恢复因异常中断的ClickHouse 服务进程。
    ~/.clickhouse-client-history (隐藏文件) 所有通过交互式命令行执行的sql历史记录。可使用ll -a命令查看

    测试环境clickhouse地址:
    clickhouse 数据存储位置:/var/lib/clickhouse/

    #1、创建数据库
    CREATE DATABASE IF NOT EXISTS xzire;

    #2、kafka引擎表,作为一个管道接收kafka的流数据
    CREATE TABLE IF NOT EXISTS xzire.ire_web_behaviorinfo_stream (message_web_json String) ENGINE = Kafka() SETTINGS kafka_broker_list = '127.0.0.1:9092', kafka_topic_list = 'MESSAGE_WEB', kafka_group_name = 'message_web', kafka_format = 'JSONAsString', kafka_max_block_size = 1048576, kafka_row_delimiter = '\n', kafka_num_consumers = 1

    #3、数据存储表
    CREATE TABLE IF NOT EXISTS xzire.ire_web_behaviorinfo (`uuid` String, `key` String, content_id String, content_name String, device_id String, data_time String, server_ip String, server_time String) ENGINE = MergeTree() PARTITION BY `key` PRIMARY KEY `uuid` ORDER BY (uuid,key) SETTINGS index_granularity = 8192;

    #4、物化视图,负责将kafka引擎表的数据实时同步到数据存储表中
    CREATE MATERIALIZED VIEW IF NOT EXISTS xzire.ire_web_behaviorinfo_view TO
        xzire.ire_web_behaviorinfo AS
        SELECT generateUUIDv4() as uuid,
        visitParamExtractString(message_web_json, 'key') as key,
        visitParamExtractString(message_web_json, 'content_id') as content_id,
        visitParamExtractString(message_web_json, 'content_name') as content_name,
        visitParamExtractString(message_web_json, 'device_id') as device_id,
        visitParamExtractString(message_web_json, 'data_time') as data_time,
        visitParamExtractString(message_web_json, 'server_IP') as server_ip,
        visitParamExtractString(message_web_json, 'server_time') as server_time
        FROM xzire.ire_web_behaviorinfo_stream;


    停止接收topic数据或更改转换逻辑需要停用物化视图,更改完之后再启用物化视图
    # 停用
     DETACH TABLE consumer;
    # 启用  
     ATTACH TABLE consumer;

  • 相关阅读:
    unity工程
    打造一个极度舒适的Chrome扩展项目开发环境
    MySQL-索引&事务
    有 5nm 制程工艺的 MCU 吗?
    关系的性质(自反,反自反,对称,反对称,传递)
    计算机速成课 第三十二集 黑客&攻击
    内网代理技术总结
    Vite4+Typescript+Vue3+Pinia 从零搭建(7) - request封装
    Tuxera2022Mac系统读写NTFS磁盘工具装机必备
    拥抱AI,怎么跨越Prompt这道鸿沟?
  • 原文地址:https://blog.csdn.net/L564458192/article/details/125504057