成都网站快速开发,企业网站建设示范平台,公司的网站建设费应该怎么入账,网站数据库网络错误怎么解决方案全文概览#xff1a;
什么是物化视图 使用场景 如何实现这个需求 建立一个使用表引擎的表#xff0c;作为物化视图的目标表确定需要查询的SQL创建物化视图测试
文件引擎其实是一个不常用的特殊表引擎#xff0c;结合【ClickHouse09-表引擎之文件引擎】一章节的基础介绍 这…全文概览
什么是物化视图 使用场景 如何实现这个需求 建立一个使用表引擎的表作为物化视图的目标表确定需要查询的SQL创建物化视图测试
文件引擎其实是一个不常用的特殊表引擎结合【ClickHouse09-表引擎之文件引擎】一章节的基础介绍 这边有一个需求 ClickHouse的日志数据存储在表中不像其他数据库引擎有文件中的日志能够方便同步和分析那现在就想仿照其他数据库将ClickHouse的查询日志表中数据部分过滤同步到文件中便于其他日志组件将数据汇聚一起分析 流程 table: query_log — filter comment with sql — create MATERIALIZED view — save into files 这边还需要引入一个概念物化视图 什么是物化视图 物化视图Materialized View是一种特殊类型的表 它能够根据定义在其上的SQL查询结果自动更新数据它并不存储查询表达式本身而是实际计算和存储了该查询的结果集当源表有新的数据插入、修改或满足特定条件时物化视图会实时或者按照配置的策略执行预定义的聚合或其他计算并将结果写入到物化视图对应的表中
使用场景
通过Select请求聚合并查询数据在写入时将数据准备为新格式在写入到特定聚合时准备数据
比较常见的使用按月、按年分表同步针对原始表按照指标定期做数据聚合产生中间统计表等
如何实现这个需求
建立一个使用表引擎的表作为物化视图的目标表
CREATE TABLE default.query_log_file
(event_time DateTime,user LowCardinality(String),query_id String,read_rows UInt64,read_bytes UInt64,result_rows UInt64,result_bytes UInt64,memory_usage UInt64,exception String
)
ENGINE File(TabSeparated);确定需要查询的SQL
SELECT event_time, user, query_id AS query, read_rows, read_bytes, result_rows, result_bytes, memory_usage, exception
FROM clusterAllReplicas(cluster_name, system, query_log)
WHERE (event_date yesterday()) AND query_duration_ms 30000 AND (is_initial_query 1) AND (query NOT LIKE INSERT INTO%)
ORDER BY query_duration_ms desc
LIMIT 100创建物化视图
CREATE MATERIALIZED VIEW query_log_file_view TO default.query_log_file AS
SELECT event_time, user, query_id, read_rows, read_bytes, result_rows, result_bytes, memory_usage, exception
FROM system.query_log
WHERE query_duration_ms 3 AND (is_initial_query 1) AND (query NOT LIKE INSERT INTO%) 测试
产生测试数据执行一些查询、alter语句最好是慢查询查看是否被视图捕获查看是否写入文件 如果写入文件那么后续的采集就基于文件来处理即可按周写入的format来解析 以上就是使用日志的功能将物化视图和文件表引擎结合做了一个样例实际使用中物化视图还可以结合更多的表引擎发挥更大的价值
如果喜欢我的文章的话可以去GitHub上给一个免费的关注吗