入门clickhouse的坑

这篇具有很好参考价值的文章主要介绍了入门clickhouse的坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

常规的关系数据库已经不能满足现有业务需求,于是,装了一个ck玩玩,结果,妥妥的跳坑!

安装,首页就是一行语句,curl就可以安装了,确实很简单。

写了一个小工具,把整个sqlserver数据导入到ck,速度还不错,每秒2w+,然后做了几个报表的查询脚本,sqlserver 291s,ck不到1s,这个差异吓我一跳,快得有点过分!

好吧,往里搬运更多的查询功能,打算整个读写分离,结果,导入数据时候默认使用MargeTree,在实际中,需要用Order By的时候,非常非常非常慢!看了很多文章,说是要用ReplicatedReplacingMergeTree,于是快速写了一个create table脚本,直接报zookeeper连接错误。

好吧,下载了一个zookeeper,安装上了,也在/etc/clickhouse-server/config.xml中配置了zookeeper的连接,结果,还是不行!很气人的好不好。

在官网找了一堆文档,从头看起,里边有install的说明

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

sudo systemctl enable clickhouse-server
sudo systemctl start clickhouse-server

sudo systemctl enable clickhouse-keeper
sudo systemctl start clickhouse-keeper

这样就好了!

我记住了,把原来的先停掉,然后再安装。安装yum install clickhouse-server的时候,会自动把keeper安装好,安装好后,不要着急启动服务,先配置好ck的config.xml,包括访问地址

    <zookeeper>
        <node>
            <host>127.0.0.1</host>
            <port>9181</port>
        </node>
    </zookeeper>

<listen_host>0.0.0.0</listen_host>

<timezone>Asia/Shanghai</timezone>

这三个地方重点改一下

然后就启动两个服务吧。一切成功!

值得高兴的是,之前导入的数据,全部还在。太好了,省了不少时间。

既然入坑了,就继续踩坑,头破血流也在所不惜!

另外一个巨坑,flink-cdc还想没有现成的sqlserver-clickhouse,有没有帮忙弄弄的,谢谢大侠们

注意时区的设置,这个很重要,clickhouse写入日期时间数据,默认是按utc写入的,也就是说

insert into table (dt) values('2023-01-01 20:00:00')

查询出来

select dt from table

结果出来是

2023-01-01 12:00:00

把查询改为

SELECT itoTimezone(dt,timezone()) dt from table

这样出来的结果就是正确的+8数据,当然也可以不管这么多,直接+8

select  date_add(hour,8, dt) from table

看起来是对的,到程序里边怎么样,还不知道,估计直接查dt就可以了,类似json一样。

遇到一个问题,删除表后,竟然无法再创建,提示

REPLICA_IS_ALREADY_EXIST

事情是这样的,创建表,使用了order by (datetimefield,field2),后续要对datetimefield这个字段更新,竟然提示不能修改,没办法,想去掉这个字段,看文档,是没有办法的。只能重建表,反正都是测试用的数据,无所谓了。

创建表的配置是:

ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/dbname/tablename',

'dbname.tablename',

datetimefield,field2) PRIMARY KEY (`id`)

ORDER BY (`id`)

drop table 后,再用相同的配置,只是减少了一个datetimefield字段,就报上述错误。

网上找了很多,都没有说清楚解决办法,这里补充一下,前提是使用clickhouse-keeper,在Linux输入以下命令,进入到keeper的命令模式

clickhouse keeper-client

默认安装都没有密码,且这个服务只能127.0.0.1访问的

然后就像linux一样操作即可

ls列出所有的目录

然后找到删除表的那个目录

cd clickhouse

cd tables

cd dbname

rmr tablename

exit

好了,这样就把原来的节点删除掉了,再去创建表,没有再报错了。

至于keeper具体使用,自己慢慢摸索吧!文章来源地址https://www.toymoban.com/news/detail-798092.html

到了这里,关于入门clickhouse的坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ClickHouse 学习之基础入门(一)

            ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C++ 语言编写,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报告。 1.1.1 列式存储         以下面的表为例: Id Name Age 1 张三 18 2 李四 22 3 王五 34 1 ) 采用行式

    2024年02月05日
    浏览(41)
  • 大数据技术之ClickHouse---入门篇---介绍

                           星光下的赶路人star的个人主页                        一棵树长到它想长到的高度之后,它才知道怎样的空气适合它 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C++ 语言

    2024年02月14日
    浏览(47)
  • 项目搭建使用qiankun(乾坤),入门篇,以及遇到的坑与解决

    微前端架构具备以下几个核心价值: 技术栈无关 主框架不限制接入应用的技术栈,微应用具备完全自主权 独立开发、独立部署 微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新 增量升级 在面对各种复杂场景时,我们通常很难对一个已经存在的系统

    2024年02月12日
    浏览(39)
  • nginx入门mobi,HTTP规范中的那些容易掉进去的坑

    JAVA异常分类及处理 异常分类 异常的处理方式 Throw和throws的区别 JAVA反射 动态语言 反射机制概念 (运行状态中知道类所有的属性和方法) Java反射API 反射使用步骤(获取Class对象、调用对象方法) 获取Class对象的3种方法 创建对象的两种方法 JAVA注解 JAVA内部类 JAVA泛型 JAVA序

    2024年03月10日
    浏览(46)
  • 【ClickHouse】-01.万字带你快速入门使用CK

    本文学习目标 ● 了解什么是clickhouse ● 熟悉clickhouse的使用场景 ● 学会clickhouse安装与使用 ● 了解clickhouse引擎 ● 学会Clickhouse SQL的操作 ClickHouse是一个用于联机分析( OLAP )的 列式数据库 管理系统(DBMS)。 友情提示ClickHouse 并不是数据仓库,它也不是数据导入和调度工具,它需

    2024年02月02日
    浏览(64)
  • 大数据技术之Clickhouse---入门篇---SQL操作、副本

                           星光下的赶路人star的个人主页                        积一勺以成江河,累微尘以崇峻极 基本上来说传统关系型数据库(以 MySQL 为例)的 SQL 语句,ClickHouse 基本都支持, 这里不会从头讲解 SQL 语法

    2024年02月13日
    浏览(45)
  • 【入门篇】ClickHouse最优秀的开源列式存储数据库

    ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 在传统的行式数据库系统中,数据按如下顺序存储: Row WatchID JavaEnable Title GoodEvent EventTime #0 89354350662 1 Investor Relations 1 2016-05-18 05:19:20 #1 90329509958 0 Contact us 1 2016-05-18 08:10:20 #2 89953706054 1 Mission 1 2016-05-18 07:38:00 #N …

    2024年02月04日
    浏览(43)
  • ClickHouse列存储(十一)—— ClickHouse

    1.数据库基本概念 2.列式存储 3.clickHouse存储设计 4.clickHouse典型应用场景 1、了解数据库基本概念 数据库 DBMS:数据库管理系统 OLTP 数据库 : OLTP(Online transactional processing) OLAP 数据库:OLAP (Online analytical processing) SQL (Structured Query Language) 词法分析 语法分析 AST (Abstract syntax t

    2024年02月10日
    浏览(44)
  • ClickHouse进阶(三):ClickHouse 索引

    进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术, IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 📌订阅:拥抱独家专题,你的订阅将点燃我的创作热情! 👍点赞:赞同优秀创作,

    2024年02月10日
    浏览(38)
  • ClickHouse--11--ClickHouse API操作

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 JDBC–01–简介 ClickHouse java代码 SparkCore 写入 ClickHouse,可以直接采用写入方式。下面案例是使用 SparkSQL 将结果存入 ClickHouse对应的表中。在 ClickHouse 中需要预先创建好对应的结果表 可以通过 Flink 原生

    2024年02月21日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包