Clickhouse物化视图探索Part1
Clickhouse物化视图探索Part1
翻译至ALTINITY博客 原文地址
Altinity博客的读者知道我们喜欢ClickHouse的物化视图。物化视图可以计算聚合,从Kafka读取数据,实现最后的查询,并重新组织表主索引和排序顺序。除了这些功能能力之外,物化视图还可以在大量节点上很好地扩展,并在大型数据集上工作。它们是ClickHouse的显著特征之一。
和通常的计算一样,强大的能力意味着至少有一点复杂性。这篇由两部分组成的文章通过准确解释物化视图是如何工作的来填补空白,这样即使是初学者也可以有效地使用它们。我们将提供几个详细的示例,您可以根据自己的使用情况进行调整。在此过程中,我们将探索用于创建视图的语法的确切含义,并让您深入了解ClickHouse的底层功能。示例是完全独立的,因此您可以将其复制/粘贴到clickhouse客户端并自己运行。
物化视图的工作原理:计算总和ClickHouse物化视图自动在表之间转换数据。它们就像触发器,在插入的行上运行查询,并将结果存储在第二个表中。让我们来看一个基本示例。假设我们有一个记录用户下载的表download,如下所示。
12 ...
Clickhouse基础笔记-安装篇
Clickhouse基础笔记-安装篇
基本安装centos7系统为例
12345sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.reposudo yum install -y clickhouse-server clickhouse-clientsudo /etc/init.d/clickhouse-server startsudo /etc/init.d/clickhouse-server start
简单配置开放其他ip地址连接
如果仅在本机进行连接可以无需进行操作
编辑/etc/clickhouse-server/config.xml
把<listen_host>::</listen_host>这行注释给删掉即可
客户端连接clickhouse-client1clickhouse-client
123ClickHouse client version 22.6.2.12 ( ...
Windows通过nssm将frp(任意程序)配置成服务
Windows通过nssm将frp(任意程序)配置成服务介绍NSSM是一个服务封装程序
它可以将普通exe程序封装成服务,使之像windows服务一样没有页面运行。
它的特点如下:
支持普通 exe 程序(控制台程序或者带界面的 Windows 程序都可以)
安装简单,修改方便
可以重定向输出(并且支持 Rotation)
可以自动守护封装了的服务,程序挂掉了后可以自动重启
可以自定义环境变量
下载我们去下载NSSM服务。
官网http://www.nssm.cc/download
最新版nssm 2.24 (2014-08-31更新)
已经快10年没更新的软件了, 但还是可以用的, 就是页面有点旧
使用
例如将内网穿透软件 frp 设置为 windows 服务(在 windows 平台使用 frp 最大的问题是自动启动经常失效,导致网络连不通。将程序做到服务中,每次开机自启动,再也不担心启动不正常的问题)下文我们用frp做例子
把下载的nssm文件放入frp客户端(或者你想启动的其他文件)目录
cmd定位至nssm.exe所在目录
输入 nssm install ...
Kafka+Zookeeper集群部署测试
Kafka+Zookeeper集群部署测试Zookeeper部署Zookeeper部署-本站传送门
本文使用的是zk3.4.9版本
Kafka部署下载安装https://kafka.apache.org/downloads
本文使用的是2.0.0版本, 下方可以直接下载
https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
下载解压
12curl -OL https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgztar -zxvf kafka_2.11-2.0.0.tgz
然后改名
1mv kafka_2.11-2.0.0/ kafka
修改配置配置文件都在config文件夹下面
主要关注:server.properties 这个文件即可,我们可以发现在目录下有很多文件, 有的可以先不管
1234567891011121314151617181920212223242526272829303132333435# 当前机器在集群中的唯一标识 ...
ElasticSearch学习05
ElasticSearch学习05Python中的ElasticSearch模块其实ElasticSearch的接口可以直接使用http来调用
我们使用Python中的request等模块可以直接进行调用
但是ElasticSearch官方也封装了一个模块
我们可以直接使用封装好的模块进行调用, 也比较方便
官方文档
requests模块调用es直接上个例子吧, 还是比较好理解的
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970import requestsimport jsonimport timeclass ES: scroll_id = '' def __init__(self, host, index, auth): self.scrollUrl = host + "/_search/scroll" ...
ElasticSearch学习04
ElasticSearch学习04常用DSL官方文档
DSL介绍Domain Specific Language:领域特定语言
Elasticsearch基于JSON提供完整的查询DSL来定义查询。
一个查询可由两部分字句构成:
Leaf query clauses 叶子查询字句:Leaf query clauses 在指定的字段上查询指定的值,如:match、term or range queries. 叶子字句可以单独使用。
Compound query clauses 复合查询字句:以逻辑方式组合多个叶子、复合查询为一个查询。
一个查询字句的行为取决于它是用在query context 还是 filter context 中:
Query context 查询上下文:用在查询上下文中的字句回答“这个文档有多匹配这个查询?”。除了决定文档是否匹配,字句匹配的文档还会计算一个字句评分,来评定文档有多匹配,会参与相关性评分。查询上下文由 query 元素表示。
Filter context 过滤上下文:过滤上下文由 filter 元素或 bool 中的 must not 表示。用 ...
Linux下后台运行程序的2种常用方式
Linux下后台运行程序的2种常用方式nohup命令简介nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和 & 命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行。
将程序放到后台运行,一般有两种方式:
(1)command &:后台运行,关掉终端会停止运行。
(2)nohup command & :后台运行,关掉终端也会继续运行。
注意:
(1)如果使用nohup执行程序未显示进行标准输出重定向,则标准输出默认重定向当前工作目录的 nohup.out 文件中。如果当前工作目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开用于追加,那么 command 参数指定的命令不可调用。
(2)如果标准错误未显示重定向,那么标准错误默认重定向到与标准输出相同的文件。
命令格式12nohup COMMAND [ARGS]nohup OPTION
选项说明1234--help 显示帮助信息并退出--version 显示版本信息并退出
常用示例( ...
ElasticSearch学习03
ElasticSearch学习03logstash插件简单使用grok插件官方文档
Grok 是 Logstash 最重要的插件。使用之前一定学会正则表达式,可以在 grok 里预定义好命名正则表达式,在之后(grok参数或者其他正则表达式里)引用它。
语法格式grok的提取字符串内容的语法其实就是在正则表达式基础之上进行封装,Logstash grok内置了120种默认表达式,解决很多日常需求,不需要重头编写复杂的正则表达式。
grok表达式语法:
%{模式名:自定义字段名}
模式名 - 指的就是预先定义好的正则表达式的别名,例如:IP 可以匹配ip内容。
自定义字段名 - 通过模式匹配到内容后,将内容保存到这个自定义的字段中
%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}
解释就是
%{IP:client} - 匹配IP内容,结果保存到client字段
%{WORD:method} - 匹配非空字符串内容,结果保存到method字段
%{URI ...
Elasticsearch中的Mapping映射
Elasticsearch中的Mapping映射Mapping为index中的文档创建的数据结构和相关配置,称为Mapping映射。
精确匹配与全文搜索ES对不同的类型有不同的存储和检索方式
exact value: 精确匹配(如date),在索引的分词阶段, 会将整个value作为一个关键词建立到倒排索引中。
full text 全文检索(如text),对值进行拆分词语后(分词)进行匹配,也可以通过缩写、时态、大小写、同义词等进行匹配
ES自动创建映射我们在插入数据的时候,如果不指定映射,ES会自动帮我们创建映射。
插入数据
1234567891011121314151617181920212223PUT /website/_doc/1{ "post_date": "2019-01-01", "title": "my first article", "content": "this is my first article in this website&q ...
ElasticSearch学习02
ElasticSearch学习02操作ElasticSearch入口是直接用Kibana的Dev进行操作
安装kibana直接下载安装kibana Kibana 7.10.0 | Elastic
编辑/config/kibana.yml
123456789server.host: node1server.port: 5601elasticsearch.hosts: ["http://node1:9200"]kibana.index: ".kibana"elasticsearch.username: "elastic"elasticsearch.password: "123456"
这里有个问题
通过keystore配置加密的用户名密码信息时候发现报错 FATAL Error: [config validation of [elasticsearch].password]: expected value of type [string] but got [number]
查证得知kibana官方不允许在 ...