ClickHouse 领域集大成之作-ClickHouse 入门进阶实战的标准参考书-日常工作案头必备!

如果需要购买阅读的话,可以点击: https://item.jd.com/10077635610807.html

目录

《ClickHouse入门、实战与进阶》

内容简介

为何写作本书

本书主要特点

如何阅读本书

致谢

全书目录

《ClickHouse入门、实战与进阶》简介

英文书名:ClickHouse in Action: From Novice to Expert

ChatGPT: 作为一位在大数据领域工作的数据分析师,我一直对于高性能的列式存储数据库ClickHouse非常感兴趣。今天给大家推荐一本新书《ClickHouse入门、实战与进阶》。这本书的作者是一位在阿里巴巴和字节跳动等大型科技公司从事大数据开发多年的专家,因此我非常期待能够从他的经验中学习到更多关于ClickHouse的知识和技能。

首先,我非常喜欢这本书的结构和内容。全书共分为10章,从ClickHouse的基本概念、特点、应用场景、技术生态等入手,逐步深入讲解ClickHouse的实现原理、项目实战以及扩展应用等方面。作者的表述简练清晰,图文并茂,每一个知识点都配有大量的实际案例、图表说明和小贴士。通过这些案例,我不仅深入了解了ClickHouse的基本原理和架构,还学习了如何使用ClickHouse进行数据存储、查询和分析,以及如何在企业级项目实战中使用ClickHouse进行数据处理和分析。

其次,我认为这本书的实用性和实战性非常强。作者在每个章节中都提供了大量的实际案例和项目实战,这些案例涵盖了多个实际的业务场景,包括基于Spring Boot开发ClickHouse SQL查询工具、基于ClickHouse Bitmap实现DMP用户画像标签圈选人、基于ZooKeeper搭建ClickHouse分布式集群、基于Grafana搭建ClickHouse集群监监控平台等等。通过这些案例和项目,我不仅学习了如何使用ClickHouse进行数据处理和分析,还学习了如何在实际项目中应用ClickHouse进行大数据分析和处理。

最后,我认为这本书的推荐语可以总结为:

这是一本从基础知识、实现原理、项目实战、扩展应用4个维度全面讲解ClickHouse数据库的书籍,非常适合大数据OLAP领域的学习者和从业者阅读。

作者在书中提供了丰富的实际案例和项目实战,帮助读者从实际业务场景出发,深入了解ClickHouse的应用和技巧。如果您是一位在大数据领域工作的数据分析师或者数据工程师,或者对于ClickHouse数据库有兴趣,那么这本书将是您的不二之选。

图书评价

(1)ClickHouse领域集大成之作,入门标准参考书,日常工作案头必备手册

(2)资深大数据专家和架构师在字节跳动和阿里巴巴的多年实践经验总结,抖音电商数据产品研发负责人等9位资深大数据专家联袂推荐

(3)从基础知识、实现原理、项目实战、扩展应用4个维度全面展开,精心设计上百个案例,助你快速掌握ClickHouse

大数据分析一直是互联网企业的核心技术,而ClickHouse是大数据分析中解决海量数据存储、OLAP分析的最佳方式之一。作者在我们团队有很丰富的ClickHouse应用经验。他的这本书几乎涵盖了ClickHouse的所有基本特性、使用技巧和应用开发,并通过丰富的图表、小贴士和代码案例等形式进行由浅入深的阐述,不仅是一本很好的ClickHouse的工具书,也是很好的大数据分析领域的参考资料。

——朱金清 字节跳动抖音电商数据产品研发负责人

对海量数据进行OLAP分析是近些年不可避免的应用场景,在企业的技术选型中,ClickHouse几乎都是首选。本书既对技术原理和使用语法进行了详实的讲解,又为从系统安装到企业内真实场景的项目实践落地给出了具体的例子,能够有效帮助读者快速掌握ClickHouse并应用到实战中,非常值得大家学习。

——刘兵兵 字节跳动抖音电商罗盘策略研发负责人

ClickHouse非常新,发展也非常快,是一个非常有前景的高性能大数据OLAP分析引擎。本书融入了作者自己多年的ClickHouse开发实战经验,内容翔实、简洁流畅、循序渐进,对大数据OLAP分析引擎有深刻的理解,是不可多得的优秀图书。在大数据人工智能时代,各个行业都意识到了数字化转型对企业的重要性。希望大数据工程师、程序员们,都能停下来阅读这本高质量且非常实用的书, 系统地了解这项技术。

——郭宇 阿里巴巴技术专家

这本书倾注了作者极大的心血,从技术内幕核心原理讲解到实际业务项目实战开发,字斟句酌,全方位介绍了ClickHouse的原理和实战能力,努力让正在读这本书的你由浅入深地理解并掌握其中的精髓,着实是OLAP领域不可或缺的力作。

——罗光 字节跳动技术专家

本书内容翔实、图文并茂,不论对于新手还是有一定经验的开发者,都能带来启迪和帮助,同时融合了作者在阿里和字节的实践经验,读后令人受益匪浅,大有裨益。

——梁莹莹 字节跳动技术专家

对于海量数据的实时分析工作,ClickHouse无疑是我们必须了解的一门技术。本书内容详尽且专业,尤其是书中以知识点详解与实际案例相结合,无论是对于数据入门还是进阶实战的你,都有着很高的指导意义。

——刘杰 字节跳动技术专家

四年磨一剑,终于迎来了光剑的又一本经典著作。本书围绕ClickHouse的整体架构、基础特性进行了简洁、清晰、细致的阐述,以实践为导向,展示了多场景的最佳实践与技术思考,不仅让学习变得简单有趣,更能让你对ClickHouse的认知提升一个新的高度。无论是渴望在分布式、大数据等领域发展的初学者,还是期待找到完备全面的ClickHouse高质量参考书的从业人员,本书都是不二之选。

——肖玉哲 字节跳动技术专家

作者在OLAP业务场景有着丰富的实践经验。本书也是他在DMP业务实践中,使用ClickHouse解决电商千亿级别在线查询问题得出的总结和思考,相信能给到那些想尝试使用ClickHouse来解决大数据OLAP查询场景问题的朋友们带来很大帮助。

——张小侠 字节跳动技术专家

这是一本企业级ClickHouse从入门、实战到进阶的技术书,从基本使用、部署、运维以及企业级实际业务场景中的最佳实践等视角,全方位介绍了大数据OLAP实时圈选以及大数据预览、洞察分析的使用经典案例,是一本非常优秀的ClickHouse实战参考手册,强烈推荐大家去读一读。

——彭家学 字节跳动资深研发工程师

作者简介

陈光剑

资深大数据专家、后端技术专家和架构师,拥有超过10年的技术研发和管理经验,一线实战经验丰富。现就职于字节跳动,曾就职于阿里巴巴,主要从事企业智能数字化经营管理、电商智能数字化运营等系统架构设计和研发工作。

在大数据和企业级系统架构领域有非常深厚的积累,擅长大数据系统架构和分布式系统架构设计开发。同时在微服务架构和编程语言领域有非常丰富的实践经验,对函数式编程、领域建模和Kotlin、Go编程语言等技术有深入的理解和丰富的实践经验,热衷于新技术的学习和技术分享。业余爱好读书、书法和写作,推崇阳明心学。

著有《Kotlin 极简教程》《Spring Boot开发实战》《Kotlin从入门到进阶实战》等技术畅销书。

1.推荐语

字节跳动大数据专家撰写,集大成之作,4个维度全面展开,上百个案例,入门标准参考书,日常工作案头必备

2.编辑推荐

(1)作者背景资深:现就职于字节跳动,曾就职于阿里巴巴,主要从事企业智能数字化经营管理、电商智能数字化运营等系统架构设计和研发工作。

(2)作者经验丰富:作者在大数据、后端开发和架构领域有10余年研发和管理经验,积累非常深厚。

(3)内容系统全面:从基础知识、实现原理、项目实战、扩展应用4个维度全面展开,是ClickHouse领域集大成之作。

(4)注重实用实战:不仅在各个知识点都辅有大量的实际案例、图表说明和小贴士,而且还有多个综合性的项目案例贯穿全书。

3.关键字

OLAP Flink Spark 数据分析 数据库 实时数据分析 大数据 Doris 数据仓库 数据湖 流式数据

ClickHouse领域集大成之作

ClickHouse

入门标准参考书

日常工作案头必备

字节跳动大数据专家撰写

字节和阿里多年经验总结

解决千亿级电商查询难题

字节和阿里9位专家力荐

基础知识、实现原理

项目实战、扩展应用

4个维度全面展开

精心设计上百个案例

全面的基础知识

丰富的功能特性

简练清晰的表述

丰富实用的案例

丰富的图表和案例

降低阅读门槛的小贴士

4 大工程综合案例

基于Grafana搭建ClickHouse集群监控平台

基于ZooKeeper搭建ClickHouse分布式集群

基于Spring Boot开发ClickHouseSQL查询工具

基于ClickHouse Bitmap实现DMP用户画像标签圈人

内容简介

本书是ClickHouse领域的集大成之作,从基础知识、实现原理、项目实战、扩展应用4个维度全面展开,表述简练清晰、案例丰富实用,既可以作为入门的标准参考书,又适合作为案头速查手册。书中内容是作者在阿里巴巴、字节跳动多年实战经验的总结,得到了字节跳动和阿里巴巴9位大数据专家的高度评价。

全书共10章,主要内容如下:

第1~3章整体介绍ClickHouse概念、特性、应用场景、技术生态、快速入门和基础数据类型等基础内容,目的是从本质上揭开ClickHouse高性能背后的秘密,帮助读者快速上手实践。

第4~6章重点讲解ClickHouse的高级数据类型、函数和SQL查询语法与配置实践等进阶内容,通过该部分内容的阅读和学习,你将全面掌握ClickHouse核心功能的使用方法和技巧。

第7~10章从企业级项目实战的角度出发,详细解析ClickHouse在实际业务项目中的使用,主要包括基于Spring Boot开发ClickHouse SQL查询工具、基于ClickHouse Bitmap实现DMP用户画像标签圈选人、基于ZooKeeper搭建ClickHouse分布式集群、基于Grafana搭建ClickHouse集群监监控平台等相关内容。通过该部分内容的阅读学习,你将掌握ClickHouse企业级项目实战开发的方方面面。

本书非常注重实用性和实战性,不仅在各个知识点都辅有大量的实际案例、图表说明和小贴士,而且还有多个综合性的项目案例贯穿全书。

本书是作者多年项目实践和学习思考过程的经验总结。书中图文并茂、由浅入深地介绍了ClickHouse的前世今生、业界使用生态、基础知识和实现原理的诸多细节,同时提供了企业级大数据分析业务中的项目实战,非常具有实用性。全书共10章:第1章和第2章介绍了ClickHouse的背景、核心特性以及环境配置方法;第3~6章详细介绍了ClickHouse的基础知识,包括基础数据类型、高级数据类型、函数、SQL基础和查询配置等内容;第7~10章是ClickHouse的具体项目实践。

为何写作本书

ClickHouse在16年发布了开源版本。自开源以来,社区一直保持着很高的活跃度,与用户遍布全球各地。目前,ClickHouse是大数据实时分析领域的主流选择之一。ClickHouse的目标是向人们提供世界上快的分析型数据库。在各种OLAP查询引擎评测中,ClickHouse的查询性能横扫各大OLAP数据库引擎,尤其是Ad Hoc即席查询性能,一直。因此,ClickHouse被广泛应用于即席查询业务场景中。

在学用ClickHouse的过程中,我发现我越来越喜欢ClickHouse,它的设计思想优秀,代码和架构都值得深入研究。ClickHouse团队精益求精的精神更值得我们每个人学然要快速迭代ClickHouse,但是ClickHouse团队依然不会放低要求,比如为了使用1个算法,会至少尝试10个算法,而且在选择了某个算法后,后续还会继续尝试其他更多算法,以便下次迭代时使用。正是由于这种精益求精、追求的态度,才有了ClickHouse的性能。感谢ClickHouse团队!

本书可以说是我对ClickHouse项目实践和学过程的粗结。我希望把这些学结,分享给更多需要使用ClickHouse来解决实际业务问题的朋友们。同时,通过写作,我加深了对 ClickHou能特性和架构实现原理的理解,也深刻体会到了学无止境的含义。写书的过程也是我系统学考ClickHouse的过程,如果这本书能够对你有所帮助或者启发,我将不胜欣慰。

本书主要特点

本书图文并茂、由浅入深地介绍了ClickHouse的前世今生、业界使用生态、基础知识和实现原理的诸多细节,以及ClickHouse在企业级大数据分析业务中的项目实战。本书注重实用性,给出了大量的操作实例和项目实战案例。

本书读者对象

本书是一本从入门到实战再阶,介绍ClickHouse开发的专业技术书,适合的读者对象主要为:

计算机、大数据、人工智能等相关专业的师生;

对企业数字化、大数据OLAP分析引擎、数据库等领域感兴趣的初学者;

大数据从业者、BI工程师、数据分析师、程序员等。

如何阅读本书

本书共10章。我希望通过简练清晰的表述和丰富实用的实例说明,细致全面地讲清楚ClickHouse的基础知识和丰能特性,以及如何使用ClickHous行实际业务项目的开发实战。通过本书,你将学会如何在几分钟内安装好ClickHouse环境并开始使用。然后,你将学使用ClickHouse的能,如基本数据类型、函数、SQL语法、稀疏索引、不同的表引擎、数据副本与分片、分布式库表管询和集群运维监控等。

本书整体上是按照由基础知识到实现原理再到项目实战的写作思路,循序地铺展开的。如果你对ClickHouse已经有一定了解,需行实际的项目实践,可以直接阅读第7~ 10章。如果你对ClickHouse还不是很了解,那么建议你按照本书的章节顺序阅读。

各章的主要内容如下。

第1章带领读者快入ClickHouse的世界,让读者全面了解ClickHouse的前世今生和核心特性。主要内括ClickHouse是什么,具有哪些特性,适合哪些应用场景等。通过该章,你将掌握ClickHouse 的核心特性,了解列存储、数据压缩、稀疏索引等存储层设计原理,以及MPP 架构、向量化查询执行引擎、动态代码生成等计算层的主要设计思想与原理。

第2章将 ClickHouse世界行具体操作实践括安装、部署、系统配置、客户端连接、ClickHouse基础命令行操作等。

第3章介绍ClickHouse基础数据类型括数值类型、字符串类型和时间类型等基本内容,以及这些基础数据类型的常用函数操作。

第4章介绍 ClickHouse 高级数据类型,主括数组、元组和嵌套等复合数据类型。另外,还介绍了如何使用聚合函数类型动态自定义类型,比如说 Bitmap 类型等。

第5章介绍 ClickHouse 函数,主括算术函数、数组函数、字符串函数、条件函数、时间函数、数学函数、聚合函数、窗口函数、空值函数和常用算子等。

第6章介绍 ClickHouse SQL基础和查询配置等相关内容,主括使用 SQL 来创建数据库、表、视图,新增数据库用户账户、角色等,行库表权限管理;同时,介绍了如何向 ClickHouse 表中插入数据,并对表中的数行查询,以及各种SQL查询子句的用法;后,介绍了如何通过EXPLAIN语句查看SQL执行计划以及执行流程。

第7章介绍如何使用 Spring Boot 来连接 ClickHouse服务器,一步步实现前后端的开发和集成测试的全过程。

第8章介绍如何使用 ClickHouse的 Bitmap 高级数据类型来实现超大规模数据场景(千亿、万亿级)用户画像标签圈人和人群画像洞察。主要内括DMP的基本概念、事实、维度、指标与标签的基本知识,如何使用 ClickHouse Bitmap实现支持任意维度标签组合的人群圈选,以及具体实现原理和圈选洞察SQL实例。

第9章以清晰、详细的步骤展示如何创建具有多个节点的 ClickHouse 集群;同时,介绍如何在 ClickHouse 集群上创建分布式数据库、分布式表和本地表,以及数据的读写操作方法和原理;后,讲解ClickHouse集群分片与副本的工作原理及分布式查询等内容。

第10章介绍如何从0到1使用Docker安装和配置Grafana、clickhouse-exporter与Prometheus,并搭建一个ClickHouse集群监控平台;同时,还介绍了如何自定义指标面板以及集群常用监控指标等实用内容。

致谢

在本书的写作和出版过程中,我得到了很多人的帮助和陪伴。

首先感谢我的妻子和两个可爱的孩子。正是有了你们的陪伴,我的工作和生活才更加有意义。我还要感谢我的父母。虽然你们可能不知道我写的是什么,但是正是有了你们的辛勤养育,我才能长成今天的我。

我衷心地感谢本书的编辑杨福川老师和李艺老师。在本书的写作过程中,你们耐心细致地对稿行了详尽、细致的审阅和批注,提出了很多宝贵的修改建议,也给予了我极大的鼓励,才让我终完成了这本书。同时,我还要感谢本书出版过程中所有付出辛勤劳动的机械工业出版社的工作人员。

在此,我还要感谢朱金清、刘兵兵、肖玉哲、张小侠、刘杰、罗光、郭宇、梁莹莹、彭家学等亲爱的同事们和朋友们(还有很多,在此就不一一列出了),感谢你们能够抽出宝贵时间审阅本书,同时给出了本书内容的勘误,倾情为本书语。能与你们成为同事和朋友,是我莫大的荣幸。

感谢在工作学中认识的所有师长、前辈、朋友和同事,能够认识你们并与你们一起学我的荣幸。

快乐生活,快乐学乐分享,快乐实践,知行合一。

最后,祝大家阅读愉快!

陈光剑

2023年4月于杭州

全书目录

目  录

赞 誉

前 言

第1章 全面了解ClickHouse 1

1.1 ClickHouse概述 1

1.2 ClickHouse特性 6

1.2.1 深度列存储 7

1.2.2 向量化查询执行引擎 12

1.2.3 数据压缩 18

1.2.4 使用磁盘 19

1.2.5 支持SQL 19

1.2.6 实时数据更新 20

1.2.7 稀疏索引 20

1.2.8 运行时代码生成 21

1.2.9 支持近似计算 22

1.2.10 数据TTL 22

1.2.11 高吞吐写入能力 22

1.2.12 多核心并行计算 22

1.2.13 多服务器分布式计算 22

1.2.14 分布式 MPP 计算架构 23

1.2.15 分片和副本 26

1.2.16 完整的DBMS能力 26

1.2.17 自适应连接算法 28

1.2.18 数据复制和数据完整性 28

1.2.19 提供复合数据类型和丰富的

函数库 28

1.3 ClickHouse应用场景 28

1.3.1 典型应用场景 28

1.3.2 通用解决方案 29

1.4 ClickHouse技术生态 29

1.4.1 ClickHouse用户都有哪些 29

1.4.2 ClickHouse的优点 36

1.4.3 ClickHouse的缺点 37

1.4.4 ClickHouse未来展望 37

1.5 本章小结 37

第2章 ClickHouse 快速入门 38

2.1 安装与运行ClickHouse 38

2.1.1 在macOS系统中安装

ClickHouse 39

2.1.2 在Linux系统中安装

ClickHouse 40

2.1.3 在Windows系统中使用

Docker安装ClickHouse 42

2.2 ClickHouse常用命令行 49

2.2.1 ClickHouse命令行清单 49

2.2.2 实用命令行工具 49

2.3 本章小结 55

第3章 ClickHouse基础数据类型 56

3.1 基础数据类型概述 57

3.2 数值类型 62

3.3 字符串类型 67

3.4 时间类型 70

3.5 本章小结 75

第4章 ClickHouse高级数据类型 76

4.1 数组类型 76

4.1.1 数组类型定义 76

4.1.2 创建数组 77

4.1.3 数组基础操作 78

4.2 元组类型 86

4.2.1 元组定义 86

4.2.2 创建元组 87

4.2.3 使用元组 87

4.3 嵌套数据类型 89

4.3.1 嵌套类型定义 89

4.3.2 创建嵌套类型 90

4.3.3 嵌套类型的使用 90

4.4 Map类型 91

4.4.1 Map类型定义 91

4.4.2 创建Map类型 91

4.4.3 Map常用操作 92

4.5 Nullable类型 95

4.6 聚合函数类型 96

4.6.1 聚合函数类型定义 96

4.6.2 使用-State函数聚合物化

视图指标 97

4.6.3 使用-Merge函数读取聚合

结果值 99

4.7 Bitmap类型 100

4.7.1 Bitmap简介 100

4.7.2 创建Bitmap类型 101

4.7.3 Bitmap常用操作函数 103

4.8 本章小结 112

第5章 ClickHouse函数 113

5.1 概述 113

5.1.1 ClickHouse函数简介 113

5.1.2 ClickHouse函数分类 114

5.1.3 表级别函数 116

5.1.4 聚合函数算子 118

5.2 算术函数 118

5.2.1 加法函数 119

5.2.2 减法函数 119

5.2.3 乘法函数 120

5.2.4 浮点除法函数 120

5.2.5 整数除法函数 121

5.2.6 带0整数除法函数 121

5.2.7 取余函数 121

5.2.8 带0取余函数 122

5.2.9 负数函数 122

5.2.10 绝对值函数 123

5.2.11 大公约数函数 123

5.2.12 最小公倍数函数 123

5.2.13 大数函数 124

5.2.14 最小数函数 124

5.3 数组函数 124

5.3.1 判断空数组函数 124

5.3.2 判断非空数组函数 125

5.3.3 数组长度函数 125

5.3.4 根据范围构造数组函数 126

5.3.5 根据元素字面量构造数组 126

5.3.6 拼接数组函数 126

5.3.7 根据下标获取元素函数 127

5.3.8 判断是否包含元素函数 127

5.3.9 判断是不是子数组函数 128

5.3.10 判断两个数组是否有交集

函数 128

5.3.11 返回元素下标函数 129

5.3.12 数组切片函数 129

5.3.13 数组升序排序函数 129

5.3.14 数组降序排序函数 130

5.3.15 数组自定义排序函数 130

5.3.16 数组自定义逆序排序

函数 130

5.3.17 计算数组不重复元素个数

函数 131

5.3.18 数组元素去重函数 131

5.3.19 数组交集函数 131

5.3.20 数组归并函数 131

5.3.21 数组逆序函数 132

5.3.22 数组拍平函数 132

5.3.23 数组压缩函数 132

5.3.24 数组元素映射函数 133

5.3.25 数组过滤函数 133

5.3.26 求数组最小元素函数 134

5.3.27 求数组大元素函数 134

5.3.28 数组元素求和函数 135

5.3.29 数组元素平均值函数 135

5.3.30 数组元素相乘函数 136

5.3.31 数组元素展开函数 136

5.4 字符串函数 136

5.4.1 字符串判空函数 137

5.4.2 字符串非空判断函数 137

5.4.3 字符串字节长度函数 137

5.4.4 左补齐字符串函数 138

5.4.5 右补齐字符串函数 138

5.4.6 字符串转小写函数 138

5.4.7 字符串转大写函数 139

5.4.8 重复字符串函数 139

5.4.9 拼接字符串函数 139

5.4.10 计算子串函数 140

5.4.11 base64编码函数 140

5.4.12 base64函数 140

5.4.13 判断开头字符串函数 141

5.4.14 判断结尾字符串函数 141

5.4.15 删除空白字符函数 141

5.4.16 从HTML提取纯文本

函数 142

5.4.17 字符串部分替换函数 142

5.4.18 字符串全部替换函数 142

5.4.19 字符串正则部分替换

函数 143

5.4.20 字符串正则全部替换

函数 143

5.4.21 计算子串下标函数 143

5.4.22 正则匹配函数 144

5.4.23 模糊匹配函数 144

5.4.24 正则匹配次数函数 144

5.5 条件函数 145

5.5.1 单条件分支函数 145

5.5.2 多条件分支函数 145

5.5.3 NULL值判断 146

5.6 时间函数 146

5.6.1 计算当前时间函数 146

5.6.2 计算今天日期函数 147

5.6.3 计算昨天日期函数 147

5.6.4 计算当前时区函数 147

5.6.5 计算时区函数 147

5.6.6 时区转换函数 148

5.6.7 计算年份函数 148

5.6.8 计算季度函数 149

5.6.9 计算月份函数 149

5.6.10 计算该年中第几天函数 149

5.6.11 计算该月中第几天函数 150

5.6.12 计算该周中第几天函数 150

5.6.13 计算小时函数 150

5.6.14 计算分钟函数 151

5.6.15 计算秒函数 151

5.6.16 计算UNIX时间戳函数 151

5.6.17 时间加法函数 152

5.6.18 时间减法函数 152

5.6.19 计算相差天数函数 153

5.7 数学函数 153

5.7.1 生成随机数函数 153

5.7.2 生成随机字符串函数 153

5.7.3 向下取整函数 154

5.7.4 向上取整函数 154

5.7.5 大绝对值函数 154

5.7.6 自然常数函数 155

5.7.7 圆周率函数 155

5.7.8 自然指数函数 156

5.7.9 自然对数函数 156

5.7.10 求根函数 156

5.7.11 三次方根函数 157

5.7.12 正弦函数 157

5.7.13 余弦函数 157

5.7.14 正切函数 157

5.7.15 反正弦函数 158

5.7.16 反余弦函数 158

5.7.17 反正切函数 158

5.7.18 指数函数 159

5.7.19 符号函数 159

5.7.20 伽马函数 160

5.8 聚合函数 160

5.8.1 计数函数 161

5.8.2 近似去重计数函数 161

5.8.3 精确去重计数函数 162

5.8.4 近似计算不同值数量 162

5.8.5 使用哈希算法近似计算

不同值数量 163

5.8.6 计算出现频率最高的值 164

5.8.7 计算总和函数 165

5.8.8 计算大值函数 165

5.8.9 计算最小值函数 167

5.8.10 计算平均值函数 167

5.8.11 绘制柱状图函数 168

5.8.12 计算序列的偏度 168

5.8.13 计算序列的样本偏度 169

5.8.14 线性回归函数 170

5.8.15 计算分位数 170

5.8.16 用列值创建数组 171

5.8.17 用列值创建数组并去重 171

5.9 窗口函数 172

5.9.1 自增行号函数 172

5.9.2 跳跃排名函数 173

5.9.3 连续排名函数 175

5.9.4 窗口计数函数 176

5.9.5 窗口大值函数 177

5.9.6 窗口最小值函数 178

5.9.7 窗口平均值函数 178

5.10 空值函数 179

5.11 常用算子 180

5.12 本章小结 186

第6章 ClickHouse SQL基础 187

6.1 SQL概述 187

6.1.1 SQL简史 187

6.1.2 SQL命令类型 188

6.1.3 ClickHouse SQL 190

6.1.4 ClickHouse查询分类 190

6.2 数据定义 192

6.2.1 概述 192

6.2.2 创建数据库 193

6.2.3 删除数据库 196

6.2.4 创建MergeTree表 196

6.2.5 复制表 205

6.2.6 从查询语句创建表 207

6.2.7 从表函数创建表 209

6.2.8 创建视图 214

6.2.9 创建函数 232

6.2.10 创建字典 234

6.2.11 RENAME操作 238

6.2.12 ALTER操作 238

6.2.13 DROP操作 249

6.3 数据操作 250

6.3.1 概述 250

6.3.2 插入数据 251

6.3.3 UPDATE操作 251

6.3.4 DELETE操作 255

6.3.5 EXCHANGE操作 257

6.3.6 OPTIMIZE操作 260

6.3.7 ATTACH操作 261

6.3.8 DETACH操作 263

6.4 数据查询 265

6.4.1 概述 265

6.4.2 WITH子句 266

6.4.3 FROM子句 268

6.4.4 SAMPLE子句 270

6.4.5 JOIN子句 271

6.4.6 PREWHERE子句 273

6.4.7 WHERE子句 276

6.4.8 GROUP BY子句 277

6.4.9 HAVING子句 280

6.4.10 SELECT子句 283

6.4.11 DISTINCT子句 285

6.4.12 LIMIT子句 287

6.4.13 SETTINGS子句 288

6.4.14 UNION子句 292

6.4.15 INTERSECT子句 295

6.4.16 EXCEPT子句 297

6.4.17 INTO OUTFILE子句 298

6.4.18 FORMAT子句 299

6.4.19 SHOW查询 302

6.4.20 EXISTS查询 317

6.4.21 KILL查询 318

6.5 数据控制 322

6.5.1 概述 322

6.5.2 创建用户 325

6.5.3 创建角色 332

6.5.4 创建行策略 334

6.5.5 创建配额 338

6.5.6 创建配置文件 345

6.5.7 修改用户、角色、行策略、

配额和配置 345

6.5.8 撤销授权 346

6.6 PROJECTION特性 347

6.6.1 新增高基维度投影 347

6.6.2 构建测试数据 348

6.6.3 关闭投影优化开关测试 349

6.6.4 开启投影优化开关测试 350

6.6.5 性能数据 351

6.6.6 维度字段基数对投影性能的

影响 352

6.7 EXPLAIN命令 353

6.7.1 EXPLAIN概述 353

6.7.2 EXPLAIN语句类型 354

6.7.3 EXPLAIN AST 354

6.7.4 EXPLAIN SYNTAX 359

6.7.5 EXPLAIN PLAN 360

6.7.6 EXPLAIN PIPELINE 365

6.7.7 EXPLAIN ESTIMATE 369

6.8 本章小结 369

第7章 基于Spring Boot开发Click-House SQL查询工具 370

7.1 项目概述 370

7.1.1 功能界面 370

7.1.2 项目技术栈 371

7.2 开发后端查询服务 374

7.2.1 创建Spring Boot工程 374

7.2.2 配置ClickHouse JDBC

依赖 375

7.2.3 配置ClickHouse数据库

连接信息 376

7.2.4 ClickHouse客户端查询

实现 376

7.2.5 查询功能单元测试 378

7.2.6 实现SQL查询HTTP

接口 379

7.2.7 HTTP接口测试 379

7.3 开发前端UI界面 381

7.3.1 Node环境准备 381

7.3.2 Arco Design简介 381

7.3.3 创建Arco React工程 382

7.3.4 实现SQL编辑器 387

7.3.5 SQL查询功能实现 390

7.3.6 格式化SQL实现 392

7.3.7 实现JSONEditor来展示

查询结果 395

7.3.8 格式化JSON实现 397

7.4 系统集成部署 398

7.4.1 打包前端静态资源 398

7.4.2 集成到后端工程 399

7.5 项目测试 400

7.6 本章小结 402

第8章 基于ClickHouse Bitmap实现DMP用户画像标签圈人 403

8.1 项目背景知识 403

8.1.1 数据管理平台 403

8.1.2 客户数据平台 404

8.1.3 客户关系管理 405

8.1.4 数据仓库 406

8.1.5 数据统计分析术语 407

8.2 项目技术方案 409

8.2.1 创建用户标签宽表 409

8.2.2 创建Bitmap圈选表 409

8.2.3 将用户标签宽表转为

Bitmap表 410

8.2.4 人群数量计算 411

8.2.5 实时人群圈选 412

8.2.6 圈选人群包存储 413

8.2.7 人群画像洞察 414

8.3 本章小结 416

第9章 基于ZooKeeper搭建Click-House分布式集群 417

9.1 方案概述 417

9.2 ZooKeeper集群环境准备 418

9.2.1 ZooKeeper简介 418

9.2.2 使用Docker安装

ZooKeeper 418

9.2.3 配置ZooKeeper集群 420

9.2.4 创建ZooKeeper集群的docker-compose.yaml配置文件 422

9.3 ClickHouse集群环境准备 433

9.3.1 使用Docker创建ClickHouse

集群 434

9.3.2 配置ClickHouse分布式

集群 440

9.3.3 新建docker-compose.yaml

配置文件 445

9.3.4 启动ClickHouse集群所有

容器节点 448

9.3.5 查看ClickHouse集群节点

状态 449

9.3.6 查看ZooKeeper集群上的ClickHouse元数据路径

节点 452

9.3.7 停止容器运行 453

9.3.8 到ClickHouse系统表中查看ClickHouse集群信息 454

9.4 创建库表 455

9.4.1 登录到ClickHouse集群ch1

容器实例节点 455

9.4.2 使用on cluster创建分布式

集群上的数据库 456

9.4.3 查看ZooKeeper上分布式

DDL路径节点数据 457

9.4.4 创建分布式表 462

9.4.5 创建集群分布式逻辑表 469

9.5 数据写入 470

9.5.1 写数据方案 470

9.5.2 写数据具体操作 472

9.6 数据查询 473

9.6.1 分布式查询原理 474

9.6.2 分布式查询过程分析 474

9.6.3 分布式子查询 475

9.7 集群副本与分片 475

9.7.1 简介 476

9.7.2 副本离线 476

9.7.3 副本扩缩容 476

9.7.4 分片扩缩容 477

9.8 本章小结 477

第10章 基于Grafana搭建Click-

House集群监控平台 478

10.1 方案简介 478

10.2 环境准备 479

10.2.1 Grafana简介 479

10.2.2 安装Grafana 480

10.2.3 安装Grafana ClickHouse

插件 482

10.2.4 配置ClickHouse数据源 483

10.2.5 安装clickhouse-exporter 488

10.2.6 安装Prometheus 490

10.2.7 启动Prometheus服务 492

10.2.8 查看容器实例状态 493

10.2.9 查看Prometheus容器

详情 493

10.2.10 访问Prometheus服务 495

10.2.11 添加Prometheus

数据源 496

10.3 常用监控 497

10.3.1 仪表盘模板 497

10.3.2 创建可用内存看板 500

10.3.3 自定义最近查询 503

10.3.4 常用监控指标 506

10.4 本章小结 507

如果需要购买阅读的话,可以点击: https://item.jd.com/10077635610807.html

【大数据OLAP技术新书推荐】 字节跳动、阿里巴巴大厂资深架构师程序员多年实践经验总结《ClickHouse入门、实战与进阶》的更多相关文章

  1. 中国大数据六大技术变迁记(CSDN)

    大会召开前期,特别梳理了历届大会亮点以记录中国大数据技术领域发展历程,并立足当下生态圈现状对即将召开的BDTC 2014进行展望: 追本溯源,悉大数据六大技术变迁 伴随着大数据技术大会的发展,我们亲历 ...

  2. 一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了

    一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了 转载: 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它 ...

  3. 大数据 --> 大数据关键技术

    大数据关键技术 大数据环境下数据来源非常丰富且数据类型多样,存储和分析挖掘的数据量庞大,对数据展现的要求较高,并且很看重数据处理的高效性和可用性. 传统数据处理方法的不足 传统的数据采集来源单一,且存 ...

  4. 案例分析:大数据平台技术方案及案例(ppt)

    大数据平台是为了计算,现今社会所产生的越来越大的数据量,以存储.运算.展现作为目的的平台.大数据技术是指从各种各样类型的数据中,快速获得有价值信息的能力.适用于大数据的技术,包括大规模并行处理(MPP ...

  5. AI加持的阿里云飞天大数据平台技术揭秘

    摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...

  6. 下一代大数据分布式存储技术Apache Ozone初步研究

    @ 目录 概述 定义 特性 架构 总体架构 写数据 读数据 部署 安装方式 安装 Docker启动 Docker-compose启动 企业预置型(On Premise)安装 实践 命令行接口 Ofs ...

  7. 了解大数据的技术生态系统 Hadoop,hive,spark(转载)

    首先给出原文链接: 原文链接 大数据本身是一个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你能够把它比作一个厨房所以须要的各种工具. 锅碗瓢盆,各 ...

  8. 一文教你看懂大数据的技术生态圈:Hadoop,hive,spark

    转自:https://www.cnblogs.com/reed/p/7730360.html 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞 ...

  9. 一文看懂大数据的技术生态Hadoop, hive,spark都有了[转]

    大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可 ...

  10. 浅析大数据的技术生态圈(Hadoop,hive,spark)

    大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可 ...

随机推荐

  1. 游戏模拟——Position based dynamics

    目录 Verlet积分 基本积分方法 Verlet 算位置 Verlet 算速度 PBD 基于力的方法解碰撞 过冲问题 基于位置的方法解碰撞 算法流程 求解器借用的思想 关于动量守恒 约束投影 简单约 ...

  2. 使用frp进行内网穿透

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公网. frp is a ...

  3. 【Vue原理模拟】模拟Vue实现响应式数据

    1. 预期效果 当数据变动时,触发自定义的回调函数. 2. 思路 对对象 object 的 setter 进行设置,使 setter 在赋值之后执行回调函数 callback(). 3.细节 3.1 ...

  4. Terraform 系列-什么是 IaC?

    系列文章 Terraform 系列文章 前言 聊到 Terraform, 必然绕不开 IaC 这个概念?那么,什么是 IaC? 基本概念 基础架构即代码 (Infrastructure as Code ...

  5. 08列表(list)与元组(tuple)

    列表(list)与元组(tuple) 列表的格式 >- [数据1,数据2,数据3,数据4,......] >- 列表可以存储多个数据,数据之间的逗号以英文分割而且可以数据是不同类型的数据, ...

  6. 【Spring5】框架新功能

    Spring5框架新功能 整个Spring5框架的代码基于Java8,运行时兼容JDK9,许多不建议使用的类和方法在代码库中删除. Spring5自带了通用的日志封装:log4j2 已经移除了log4 ...

  7. RDIFramework.NET Web版报表管理-助力企业高效智能图表

    功能描述 在RDIFramework.NET Web版本中全新的报表管理功能模块,非常实用的功能,重量级推荐.主要用于对日常常用的报表做定制展示.可以自动发布到模块(就可授权给指定资源访问),在报表定 ...

  8. TiDB与MySQL的SQL差异及执行计划简析

    作者:京东零售 肖勇 一. 前言导读 TiDB作为NewSQL,其在对MySQL(SQL92协议)的兼容上做了很多,MySQL作为当下使用较广的事务型数据库,在IT界尤其是互联网间使用广泛,那么对于开 ...

  9. 2.JAVA入门基础知识

    数据类型: java的数据类型分为两大类:基本类型和引用类型 基本类型: 整数类型: byte 一个字节 -128-127 short 2个字节 32768-32767 int 4个字节 很大 lon ...

  10. 一文彻底搞懂ZAB算法,看这篇就够了!!!

    最近需要设计一个分布式系统,需要一个中间件来存储共享的信息,来保证多个系统之间的数据一致性,调研了两个主流框架Zookeeper和ETCD,发现都能满足我们的系统需求.其中ETCD是K8s中采用的分布 ...