大数据-135 - ClickHouse 集群 - 数据类型 实际测试

news2024/12/23 6:06:10

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(正在更新···)

章节内容

上节我们完成了如下的内容:

  • 单机安装
  • 单机测试
  • 集群安装
  • 集群启动

在这里插入图片描述

上节情况

上节已经完成了ClickHouse 的安装和启动。

测试连接

clickhouse-client -m --host h121.wzk.icu --port 9000 --user default --password clickhouse@wzk.icu

如果可以从 122 连接到 121 说明你的服务已经搭建好了。
你可以测试以下,是否三台节点之间都是互通的,确保服务和服务之间一切正常,方便我们后续的学习研究。
在这里插入图片描述

检验集群

任意连接一个节点,我们进行测试

h121

clickhouse-client -m --host h121.wzk.icu --port 9000 --user default --password clickhouse@wzk.icu
SELECT * FROM system.clusters WHERE cluster = 'perftest_3shards_1replicas';

在这里插入图片描述

h122

clickhouse-client -m --host h122.wzk.icu --port 9001 --user default --password clickhouse@wzk.icu

在这里插入图片描述

h123

clickhouse-client -m --host h123.wzk.icu --port 9001 --user default --password clickhouse@wzk.icu

在这里插入图片描述

数据类型

简单介绍

支持DML,为了提高性能,较传统数据库而言,ClickHouse提供了复合数据类型。ClickHouse的Update和Delete就是由Alter变种实现的。

启动测试

我这里采用了 h121 机器的服务,当然如果你使用别的机器的服务也可以。

clickhouse-client -m --host h121.wzk.icu --port 9000 --user default --password clickhouse@wzk.icu

整型

固定长度的整型,包括有符号整型,和无符号整型。
在这里插入图片描述
在这里插入图片描述

SELECT 255;
SELECT -128;

执行的结果截图如下图:
在这里插入图片描述

浮点型

在这里插入图片描述
建议尽可能以整数形式存储数据,例如,将固定精度的数字转换为整数值,如时间用毫秒为单位表示,因为浮点型计算行为可能引起四舍五入的误差。

SELECT 1-0.9;
SELECT 1/0;
SELECT 0/0;

执行的结果如下图:
在这里插入图片描述

Decimal

如果要求更高精度,可以选择Decimal类型,格式:Decimal(P,S)

  • P:代表精度,决定总位数(正数部分+小数部分),取值0-38
  • S:代表规模,决定小数位数,取值范围是0-P

ClickHouse对Decimal提供三种简写:

  • Decimal32
  • Decimal64
  • Decimal128

相加、减精度取大

SELECT toDecimal32(2, 4) + toDecimal32(2, 2);
SELECT toDecimal32(4, 4) + toDecimal32(2, 2);

运行结果的截图如下图所示:
在这里插入图片描述

相乘精度取和

SELECT toDecimal32(2, 2) * toDecimal32(4, 4)

运行结果的截图如下图所示:
在这里插入图片描述

相除精度取被除数

SELECT toDecimal32(4, 4) / toDecimal32(2, 2)

运行结果的截图如下图所示:
在这里插入图片描述

字符串

String

字符串可以任意长度,它可以包含任意的字符集,包含空字节。

FixedString(N)

固定长度为N的字符串,N必须是严格的正自然数。当服务端读取长度小于N的字符串时候,通过在字符串末尾添加空字节来达到N字节长度。当服务端读取长度小于N的字符串的时候,将返回错误。

SELECT toFixedString('abc', 5), LENGTH(toFixedString('abc', 5)) AS LENGTH;

执行结果如下图:
在这里插入图片描述

UUID

ClickHouse将UUID这种在传统数据库中充当主键的类型直接做成了数据类型

创建新表

CREATE TABLE UUID_TEST(
  `c1` UUID,
  `c2` String
)ENGINE = memory;

执行结果如下图:
在这里插入图片描述

插入数据

INSERT INTO UUID_TEST SELECT generateUUIDv4(), 't1';
INSERT INTO UUID_TEST(c2) VALUES('t2');

执行结果如下图:
在这里插入图片描述

查询结果

SELECT * FROM UUID_TEST;

执行结果如下图:
在这里插入图片描述

枚举类型

包括 Enum8 和 Enum16 类型,保存 string = integer 的对应关系。
Enum8 用 String = Int8 对描述
Enum16 用 String = Int16 对描述。

创建新表

CREATE TABLE t_enum (
  x Enum8('hello' = 1, 'word' = 2)
) ENGINE = TinyLog;

执行结果如下所示:
在这里插入图片描述
注意:这个列 x 只能存储定义列出的值,“Hello” 或者 “world”,如果插入其他值则会报错。

插入数据

INSERT INTO t_enum VALUES ('hello'), ('word'), ('hello');

执行结果如下图:
在这里插入图片描述

查询数据

SELECT * FROM t_enum;

如果需要看到对应行的数值,则必须将Enum转换为整数类型。

SELECT CAST(x, 'Int8') FROM t_enum;

执行结果如下图:
在这里插入图片描述

数组

Array(T):由 T 类型元素组成的数组。
T可以是任意类型,包含数组类型,但不推荐使用多维数组,ClickHouse对多维数组的支持有限。
例如,不能再MergeTree表中存储多维数组。

创建数组

SELECT array(1, 2.0) AS x, toTypeName(x);
SELECT [1, 2] AS x, toTypeName(x);

执行结果如下图:
在这里插入图片描述
如果是声明字段的时候,则需要指明数据类型:

CREATE TABLE Array_test (
  `c1` Array(String)
) ENGINE = Memory;

元组

Tuple(T1,T2):元组,每个元素都有单独的类型。
创建元组的示例:

SELECT tuple(1, 'a') AS x, toTypeName(x);

执行的结果如下图:
在这里插入图片描述
注意:在定义表字段的时候也需要指明数据类型。

Date、DateTime

日期类型、用两个字节存储,表示 1970-01-01 (无符号)到当前的日期值。

布尔型

没有单独的类型来存储布尔值,可以使用 UInt8 类型,取值限制为 0 或 1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2134992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nuxt Kit 自动导入功能:高效管理你的模块和组合式函数

title: Nuxt Kit 自动导入功能:高效管理你的模块和组合式函数 date: 2024/9/14 updated: 2024/9/14 author: cmdragon excerpt: 通过使用 Nuxt Kit 的自动导入功能,您可以更高效地管理和使用公共函数、组合式函数和 Vue API。无论是单个导入、目录导入还是从第三方模块导入…

GMB外链是什么?

GMB外链其实就是百万外链,它是一种通过大量反向链接来提升网站页面权重的方法。如果你刚建了一个新网站,想在短时间内被收录并获得排名,GMB外链能帮你做到这点。它不像传统SEO那样需要等待好几个月的效果,GMB外链能在24小时内帮你…

vector(2)

前言 通过上一节的学习,我们知道了vector中可以存放各种类型的数据,这就意味着vector之中不仅仅可以存放int、char等内置类型,还可以存放vector和string等类型,我们结合底层的具体情况来具体分析 vector的复用(套娃&a…

光控资本:股票增发是什么意思?股票增发的形式?

股票增发配售是已上市的公司通过指定投资者(如大股东或组织投资者)或全部投资者额定发行股份搜集资金的融资办法。 留意:股票增发后,股价会除权下降。由于增发后股本扩大了,那么每股收益与每股净资产均下降&#xff0…

今天一次讲明白C++条件变量

在C中,std::condition_variable 条件变量是一个同步原语,它允许一个或多个线程在某个条件成立时,被另一个线程唤醒。std::condition_variable 条件变量通常与互斥锁(std::mutex)一起使用,以保护共享数据和同…

David Baker 任科学顾问,初创公司发布世界最大蛋白质相互作用数据库,已获 8 轮融资

蛋白质-蛋白质相互作用 (Protein-Protein Interactions, PPI) 是细胞生命活动的重要组成部分,在调控和维持细胞的生理功能中(如细胞的信号传导、代谢反应和基因表达)发挥着不可或缺的作用。 然而目前 PPl 数据库中的数据相对较少&#xff0c…

穿越病毒区-第15届蓝桥省赛Scratch中级组真题第2题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第187讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,…

CCF201912_1

题解&#xff1a; #include<bits/stdc.h>using namespace std;int n;bool shouldSkip(int num) {if (num % 7 0){return true;}while (num > 0){if (num % 10 7){return true;}num / 10;}return false; } int main() {scanf("%d", &n);int b[4] { 0…

Android Studio 安装配置教程(Windows最详细版)

目录 前言 Android Studio 下载 Android Studio 安装 Android Studio 使用 一、创建默认项目&#xff08;Compose&#xff09; 二、创建常规项目 三、使用ViewBinding 四、查看Gradle版本、SDK版本、JDK版本 ① Gradle版本 ② SDK版本 ③ JDK版本 前言 Android开发…

跟《经济学人》学英文:2024年09月14日这期 The sweet story of Peru’s blueberry boom

The sweet story of Peru’s blueberry boom Plucky farmers have transformed the market in only ten years plucky&#xff1a;英 [ˈplʌki] 勇敢的&#xff1b;无畏的&#xff1b;有胆识的 原文&#xff1a; Peru’s blueberry harvest is just beginning, and Ivan Ja…

自动驾驶:LQR、ILQR和DDP原理、公式推导以及代码演示(七、CILQR约束条件下的ILQR求解)

&#xff08;七&#xff09;CILQR约束条件下的ILQR求解 CILQR&#xff08;(Constrained Iterative Linear Quadratic Regulator)&#xff09; 是为了在 iLQR 基础上扩展处理控制输入和状态约束的问题。在这种情况下&#xff0c;系统不仅要优化控制输入以最小化代价函数&#x…

NET WPF使用组件库HandyControl

一、背景 WPF原生控件提供的API功能不够强大&#xff0c;设置一般的功能都需要进行很复杂的配置和实现。 1.1 原生按钮控件 例如&#xff0c;原生控件<Button/> 默认效果是这样的&#xff1a; MainWindow.xaml代码&#xff1a; <Window x:Class"wpf_demo.Mai…

SAP_ABAP_编程基础

SAP ABAP 顾问能力模型(同心圆方法论)_sap abap 顾问能力模型(同心圆方法论)-CSDN博客文章浏览阅读1.8k次,点赞5次,收藏35次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!_sap abap 顾问能力模型(同心圆方法论)htt…

我们的Python服务器开发脚手架开放了

pdServer是我们实践过程中的产物&#xff0c;当我们在开发各类python应用时&#xff0c;经常需要一个server来提供服务。于是我们使用fastApi来提实现&#xff0c;并在这个过程中不断的完善&#xff0c;实现了JWT\SQL等。 我们的脚手架项目可以&#xff1a; fastApi实现一个服…

数据线电子行业MES系统功能与生产过程管理

万界星空科技针对数据线电子行业的MES系统&#xff08;制造执行系统&#xff09;&#xff0c;其具体功能、生产过程管理以及注塑机设备数据采集等方面&#xff0c;可以详细介绍如下&#xff1a; 一、电子行业MES系统具体功能 计划管理&#xff1a; MES系统能够根据客户需求和销…

潍坊网站建设-高端建站

在当今数字化时代&#xff0c;企业的在线形象越来越重要。潍坊作为一个经济发展迅速的城市&#xff0c;许多企业都意识到拥有一个高端网站的重要性。潍坊网站建设不仅仅是技术层面的开发&#xff0c;更是品牌形象和市场竞争力的体现。高端建站的核心在于用户体验、视觉设计和功…

论文解读《NewsBench:一个评估中文新闻大型语言模型编辑能力的系统评估框架》

引言&#xff1a;感觉这篇文章&#xff0c;对 LLMs 的新闻编辑能力做了一个详细的实验和分析&#xff0c;而且还贡献了一个宝贵的中文新闻数据集&#xff0c;蛮不错的&#xff0c;后面或许可以用起来&#xff0c;就拜读了一下。 这篇博客的题目说是解读&#xff0c;其实大部分…

赵进喜:不透析、不用肾移植,“三维护肾”巧治尿毒症

潜心研究中医药治疗尿毒症等慢性肾脏重症40余年来&#xff0c;北京名老中医&#xff0c;慢性肾病国医大师吕仁和教授医术传承人&#xff0c;全国优秀基层名中医赵进喜总结出弥足珍贵的重症良方&#xff0c;临床应用无数次守护近10万肾病重症患者生命。让仅有22岁的慢性肾衰尿毒…

DORIS - DORIS之倒排索引

什么是倒排索引&#xff1f; 倒排索引&#xff08;Inverted index&#xff09;&#xff0c;也常被称为反向索引、置入档案或反向档案&#xff0c;是一种索引方法&#xff0c;用于存储在全文搜索场景下某个单词在一个文档或者一组文档中的存储位置的映射&#xff0c;它是文档检…

AI开发-FAQ

1 需求 2 接口 3.1 pip下载指定版本 pip install package1.0.4 3.2 pip设置代理 pip install --proxyhttp://10.10.1.10:3128 somepackage 3.3 PyCharm设置代理 import os os.environ[http_proxy] http://your_proxy:port os.environ[https_proxy] http://your_proxy:portf…