clickhouse简述
clickhouse什么是clickhouse?优势是什么,为什么选择ch? 全称 :Click Stream Data WareHouse 简称ClickHouse 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 ClickHouse的核心特性 ClickHouse拥有完备的管理功能,所以它称得上是一个DBMS(Database Management System,数据库管理系统),而不仅是一个数据库。 DDL(数据定义语言):可以动态地创建、修改或删除数据库、表和视图,而无须重启服务。 DML(数据操作语言):可以动态查询、插入、修改或删除数据。 权限控制:可以按照用户粒度设置数据库或者表的操作权限,保障数据的安全性。 数据备份与恢复:提供了数据备份导出与导入恢复机制,满足生产环境的要求。 分布式管理:提供集群模式,能够自动管理多个数据库节点。 列式存储与数据压缩 列式存储:想让查询变得更快,最简单且有效的方法是减少数据扫描范围和数据传输时的大小。假设一张数据表A拥有50个字段A1~A50,以及100行数据。现在需要查询前5个字段并进行数据分析...
clickhouse创建分布式表和本地表并远程同步mysql数据
此处以mergetree引擎举例,如果是用于高可用开发,还是需要换成replicatemergetree系列引擎1234567891011121314151617181920212223242526272829303132333435363738394041424344454647-- tablename和clustername不用提前建立好,会自动建立-- 分布式表和本地表都需要删除drop table if exists <database>.<tablename_local> on cluster <clustername>;drop table if exists <database>.<tablename_local> on cluster <clustername>;-- 先创建本地表(因为同步远程表没办法以集群模式同步,所以可以先同步表结构,不插入数据,然后再使用insert同步数据到各个节点)CREATE TABLE <database>.<tablename_local&g...
clickhouse安装及简单使用
官方文档 安装(centos7) 检测环境许可 1$ grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported" 添加官方存储库 123sudo yum install yum-utilssudo rpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPGsudo yum-config-manager --add-repo https://repo.clickhouse.com/rpm/stable/x86_64 如果您想使用最新的版本,请用testing替代stable(我们只推荐您用于测试环境)。prestable有时也可用。 安装 1sudo yum install clickhouse-server clickhouse-client 启动 配置文件/etc/clickhouse-server/config.xml 1注释掉...
clickhouse常用函数
group_concat(distinct xxx)1groupUniqArray(toString(xxx)) :得到的是数组 列转行1groupArray(xxx) :得到的是数组 合并数组成一个字符串1arrayStringConcat(arr, separator) 行转列1arrayJoin(groupArray(xxx)) 去重函数1arrayDistinct(array) 将数组拼接成一行12arrayConcat(array):此函数只有一个数组参数,无法设置分割符,可使用arrayStringConcat(array,'分隔符')设置分隔符 结果的最后一个1anyLast(xxx) 取出现次数前(3)的值1topK(3)(xxx) 复杂函数,过滤数组,取其中不等于a的第一个值1arrayElement(arrayFilter(x -> x!='a',['a','b','c'],1) 格式化日期1formatDateTime(currentTime...
clickhouse工作中常用命令(长期)
全量从mysql导入数据到clickhouse(并建表)123clickhouse-client -m -u default --password 123456 --query="CREATE TABLE clickhouse_database_name.clickhouse_table_name ENGINE = MergeTree ORDER BY id AS SELECT * FROM mysql('ip:port', 'database_name', 'table_name','name', 'password');"; clickhouse数据导出到csv文件1clickhouse-client -h 127.0.0.1 --database="db" --query="select * from db.test_table FORMAT CSV" > test.csv csv文件导入到clickho...
关于clickhouse分区问题
最近项目在尝试clickhouse集群部署,但是我们在做etl的时候,有个表想着为了加快响应速度,建立了分区,所以对分区知识进行了二次调研首先分区并不能加快查询速度,而更加适用于更新或者删除数据用.分区数量限制由max_partitions_per_insert_block控制,默认是100当插入数据到100以上的时候,会报错提示 12345678DB::Exception: Too many partitions for single INSERT block (more than 100). The limit is controlled by 'max_partitions_per_insert_block' setting. Large number of partitions is a common misconception. It will lead to severe negative performance impact, including slow server startup, slow INSERT queries and slow ...
记录elementary OS的安装以及配置(基于elementaryos-6.0-stable)
记录elementary OS的安装以及配置(基于elementaryos-6.0-stable)elementary OS官网 下载好镜像<elementaryos-6.0-stable.20211103.iso> rufus官网 再下载好刻录启动盘工具 依次点击选择,开始即可(uefi对应gtp,mbr对应bios) 然后重启机器,f12进入,选择对应uefi下的usb选项,进入。elementaryos-6.0-stable镜像基于ubuntu20.04,开始页面是三个选项,第二个是清空磁盘做系统,选择进入,然后分区。最开始的加密密码不用选,麻烦。直接don‘t加密,然后进入。 最佳分区方案12345678910111213SWAP分区:实现虚拟内存,建议大小是物理内存的1-2倍/boot分区:用来存放与系统启动有关的程序,建议大小为200MB以内/usr分区:用来存放系统中的应用程序,相关数据较多,建议总硬盘的40%/var分区:用来存放系统中经常变化的数据以及日志文件,建议大小为5GB/home分区:存放普通用户的数据,建议大小为剩下的空间。/分区...
windows共享文件夹
首先需要启用Guest用户,一般默认是禁用的,按下Win+R打开运行窗口,输入lusrmgr.msc命令,回车,打开本地用户和组(本地) 右键Guest用户,打开属性,把“账户已禁用”前边的勾去掉,点击应用,确定。如果有必要,可右键Guest,点击设置密码(有时访问必须得有密码才行,此时也可不用设置,等需要的时候再设置也行)。此时账户就没有问题了,接下来共享文件夹。 右键需要共享的文件夹,打开属性,切换到共享界面,点击“共享”按钮。 点击“添加”按钮前边的下拉框,选中Guest账户,点击添加按钮,此时Guest用户就出现在了共享用户列表中,然后根据自己需求,在权限级别一栏选择对应选取即可,我这里选择的是读取和写入。然后点击下边的“共享”按钮,共享结束后,点击“完成”按钮。 点击“高级共享”按钮,然后点击下方的“权限”按钮 在权限界面,选中Everyone用户,点击删除(请注意,这里设置的权限,也是正常系统用户访问该文件夹的权限,如果非必要或者不清楚,那就不要删除了),然后点击“添加”按钮。 在“输入对象名称”下边输入Guest...
Elasticsearch数据建模
Elasticsearch数据建模数据建模 数据建模是创建数据模型的过程 数据模型是对真实世界进行抽象描述的一种工具和方法,实现对现实世界的映射 三个过程:概念模型=》逻辑模型=》数据模型 数据模型:结合具体的数据库,在满足业务读写性能等需求的前提下,确定最终定义 数据建模:功能需求+性能需求 逻辑模型(功能需求) 实体属性 实体之间的关系 搜索相关的配置 物理模型(性能需求) 索引模版 分片数量 索引Mapping 字段配置 关系处理 对字段进行建模 字段类型: Text vs Keyword Text 用于全文本字段,文本会被Analyzer分词 默认不支持聚合分析及排序。需要设置fielddata为true Keyword 用于id,枚举及不需要分词的文本。例如电话号码,email地址,手机号码,邮政编码,性别等 适用于Filter(精确匹配),Sorting和Aggregations 设置多字段类型 默认会为文本类型设置成text,并且设置一个keyword的子字段 在处理人类语言时,通...
Elasticsearch的基本使用
1 了解ES1.1.1.elasticsearch的作用elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 1.1.2.ELK技术栈elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域: 而elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。 1.1.3.elasticsearch和luceneelasticsearch底层是基于lucene来实现的。 Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。官网地址:https://lucene.apache.org/ 。 elasticsearch的发展历史: 2004年Shay Banon基于Lucene开发了Compass 2010年Shay Banon 重写了Compass,取名为Elasticsearch。 1....
