ClickHouse使用笔记
什么是ClickHouse?
- ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。
- 更多说明请参考官网:https://clickhouse.com/docs/zh/
安装clickhouse
- clickhose官网安装文档:https://clickhouse.com/docs/zh/getting-started/install/#from-rpm-packages
- centos7安装clickhose
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client
- 启动clickhouse:
sudo /etc/init.d/clickhouse-server start - 进入clickhouse客户端:
clickhouse-client # or "clickhouse-client --password" if you set up a password.
修改clickhouse配置文件
- 允许远程访问: vi /etc/clickhouse-server/config.xml,将
<listen_host>::</listen_host>取消注释 - 设置访问密码:vi /etc/clickhouse-server/users.xml,在password标签中设置自己的密码
- 重启服务:
service clickhouse-server restart - 防火墙放行指定端口:
firewall-cmd --zone=public --add-port= 8123/tcp --permanent,重启防火墙:firewall-cmd --reload
- 允许远程访问: vi /etc/clickhouse-server/config.xml,将
下载clickhose客户端工具
- DBeaver的官网 https://dbeaver.io/download/
- 第一次连接时,会下载一些驱动

创建clickhouse测试数据库
CREATE DATABASE IF NOT EXISTS test_db;
导入官网上给的测试数据
- 官网测试数据地址:https://clickhouse.com/docs/zh/getting-started/example-datasets/menus
- 使用客户端命令导入
clickhouse-client --format_csv_allow_single_quotes 0 --input_format_null_as_default 0 --query "INSERT INTO test_db.dish FORMAT CSVWithNames" < Dish.csv
clickhouse-client --format_csv_allow_single_quotes 0 --input_format_null_as_default 0 --query "INSERT INTO test_db.menu FORMAT CSVWithNames" < Menu.csv
clickhouse-client --format_csv_allow_single_quotes 0 --input_format_null_as_default 0 --query "INSERT INTO test_db.menu_page FORMAT CSVWithNames" < MenuPage.csv
clickhouse-client --format_csv_allow_single_quotes 0 --input_format_null_as_default 0 --date_time_input_format best_effort --query "INSERT INTO test_db.menu_item FORMAT CSVWithNames" < MenuItem.csv
SpringBoot项目集成clickhouse
- 引入
clickhouse-jdbc依赖
<dependency>
<groupId>com.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.3.2</version>
</dependency>
- 在
application.yml配置文件中配置clickhouse地址
url: jdbc:clickhouse://127.0.0.1:8123/test_db?useSSL=false
username: default
password: reminis@2023
driver-class-name: com.clickhouse.jdbc.ClickHouseDriver
- 通过mybatis-plus或其它ORM框架对clickhosue数据库中的表进行crud操作
- 引入
把其它数据源的数据导入clickhouse
- 下载
clickhouse-jdbc-bridge,并安装运行 - 参考文档:https://github.com/ClickHouse/clickhouse-jdbc-bridge
- 下载
ClickHouse使用笔记的更多相关文章
- ClickHouse入门笔记
ClickHouse笔记 目录 ClickHouse笔记 第 1 章 ClickHouse 入门 列式储存的好处: 第 2 章 ClickHouse 的安装 第 3 章 数据类型 整型 浮点型 布尔型 ...
- ClickHouse学习笔记
1. 概述 ClickHouse是一个用于联机分析(OLAP:Online Analytical Processing)的列式数据库管理系统(DBMS:Database Management Syst ...
- ClickHouse源码笔记1:聚合函数的实现
由于工作的需求,后续笔者工作需要和开源的OLAP数据库ClickHouse打交道.ClickHouse是Yandex在2016年6月15日开源了一个分析型数据库,以强悍的单机处理能力被称道. 笔者在实 ...
- ClickHouse源码笔记2:聚合流程的实现
上篇笔记讲到了聚合函数的实现并且带大家看了聚合函数是如何注册到ClickHouse之中的并被调用使用的.这篇笔记,笔者会续上上篇的内容,将剖析一把ClickHouse聚合流程的整体实现. 第二篇文章, ...
- ClickHouse源码笔记5:聚合函数的源码再梳理
笔者在源码笔记1之中分析过ClickHouse的聚合函数的实现,但是对于各个接口函数的实际如何共同工作的源码,回头看并没有那么明晰,主要原因是没有结合Aggregator的类来一起分析聚合函数的是如果 ...
- clickhouse源码Redhat系列机单机版安装踩坑笔记
前情概要 由于工作需要用到clickhouse, 这里暂不介绍概念,应用场景,谷歌,百度一大把. 将安装过程踩下的坑记录下来备用 ClickHouse源码 git clone安装(直接下载源码包安装失 ...
- ClickHouse 研讨会学习笔记(clickhouse tips and tricks)
一.显示执行日志 clickhouse-client --send_logs_level=trace 或者进入client session 后输入 set send_logs_level = 'tra ...
- ClickHouse源码笔记3:函数调用的向量化实现
分享一下笔者研读ClickHouse源码时分析函数调用的实现,重点在于分析Clickhouse查询层实现的接口,以及Clickhouse是如何利用这些接口更好的实现向量化的.本文的源码分析基于Clic ...
- ClickHouse源码笔记4:FilterBlockInputStream, 探寻where,having的实现
书接上文,本篇继续分享ClickHouse源码中一个重要的流,FilterBlockInputStream的实现,重点在于分析Clickhouse是如何在执行引擎实现向量化的Filter操作符,而利用 ...
- ClickHouse源码笔记6:探究列式存储系统的排序
分析完成了聚合以及向量化过滤,向量化的函数计算之后.本篇,笔者将分析数据库的一个重要算子:排序.让我们从源码的角度来剖析ClickHouse作为列式存储系统是如何实现排序的. 本系列文章的源码分析基于 ...
随机推荐
- Springcoud-netflix 笔记
SpringCloud_Netflix 微服务一代(Netflix)学习前提: JAVASE. 数据库(MySQL). 前端(HTML+CSS+JavaScript||JQuery.Bootstrap ...
- NLP实践!文本语法纠错模型实战,搭建你的贴身语法修改小助手 ⛵
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...
- 【大数据】kafka-02:Kafka Connect内容、原理及使用
〇.概述 1.常见资料 (1)confluent https://docs.confluent.io/5.4.0/connect/kafka-connect-jdbc/sink-connector/s ...
- 【Scala复习】基础知识、函数式编程、面向对象、集合、隐式转换、模式匹配、泛型
重点版 详细版 基础知识常量和变量尽量使用常量val别使用变量var变量的命名数字字母下划线_特殊的用法数据类型java基本数据类型引用数据类型scalaAny-对象的根类AnyVal-数值类型Lon ...
- ArcObjects SDK 012 PageLayout和Page
1.从ArcMap角度看结构 一个Mxd文件包含一个PageLayout对象和一个多多个Map对象,每个Map会被包成MapFrame,添加到PageLayout中.我们用ArcMap打开一个mxd文 ...
- 【Java】【数据库】B树
B-树的形式 (B-树就是B树, 而且'-'是一个连接符号,不是减号.) B树的结构如下 不同于B+树(关于B+树,我的这篇博客里有写:B+树)的一些特点: 数据 \(K_i\) 左边的树不会将 \( ...
- 安装es可视化软件Kibana
一 Kibana介绍 Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作. 您.可以使用 Kibana 对 Ela ...
- 什么是Auth模块?(全面了解)
目录 一:Auth模块 1.什么是Auth模块? 2.Auth模块作用 二:引入Auth模块 1.其实我们在创建好一个Django项目之后直接执行数据库迁移命令会自动生成很多表 2.django在启动 ...
- 13-flask博客项目之restful api详解2-使用
13-flask博客项目之restful api详解1-概念 13-flask博客项目之restful api详解1-概念 Flask-RESTful学习网站 英文:https://flask-res ...
- Ajax---EventLoop事件循环
前言 JavaScript 是一门单线程执行的脚本语言.也就是说,同一时间只能做一件事情. JavaScript要运行在宿主环境中(浏览器,nodejs)下.浏览器内部有执行js代码的引擎 ...