云服务器内容精选
-
ClickHouse应用开发流程介绍 开发流程中各阶段的说明如图1 ClickHouse应用程序开发流程和表1 ClickHouse应用开发的流程说明 所示。 图1 ClickHouse应用程序开发流程 表1 ClickHouse应用开发的流程说明 阶段 说明 参考文档 了解基本概念 在开始开发应用前,需要了解ClickHouse的基本概念。 基本概念 准备开发和运行环境 ClickHouse的应用程序支持多种语言开发,主要为Java语言,推荐使用IntelliJ IDEA工具,请根据指导完成开发环境配置。 准备ClickHouse应用开发和运行环境 根据场景开发工程 提供样例工程,帮助用户快速了解ClickHouse各部件的编程接口。 导入并配置ClickHouse样例工程 运行程序及查询结果 用户可以直接通过运行结果查看应用程序运行情况。 在本地Windows环境中调测ClickHouse应用(MRS 3.3.0之前版本) 在Linux环境中调测ClickHouse应用(MRS 3.3.0之前版本) 父主题: ClickHouse开发指南(安全模式)
-
创建ClickHouse数据库 通过on cluster语句在集群中创建表1中以databaseName参数值为数据库名的数据库。 private void createDatabase(String databaseName, String clusterName) throws Exception { String createDbSql = "create database if not exists " + databaseName + " on cluster " + clusterName; util.exeSql(createDbSql); } 父主题: 开发ClickHouse应用
-
在Linux环境中调测ClickHouse Springboot样例程序 ClickHouse springboot应用程序也支持在Linux环境中运行。在程序代码完成开发后,您可以上传Jar包至准备好的Linux运行环境中运行。 前提条件 Linux环境已安装JDK,版本号需要和IntelliJ IDEA导出Jar包使用的JDK版本一致,并设置好Java环境变量。 编译并运行程序 在IDEA中右侧单击“Maven”,展开“Lifecycle”,双击“package”,对当前工程进行打包。 使用root用户登录ClickHouse客户端节点,创建运行目录,例如“/opt/test”,在IDEA的“target”目录下获取带有“-with-dependencies”的jar包,并将jar包和idea中conf文件夹一同上传到“/opt/test”目录,如: 执行如下命令,配置环境变量并运行jar包: cd 客户端安装路径 source bigdata_env cd /opt/test java -jar clickhouse-examples-1.0-SNAPSHOT-jar-with-dependencies.jar 显示结果如下: 调用ClickHouse的SpringBoot样例接口触发样例代码运行: Windows环境运行方式: 打开浏览器,输入:http://ClickHouse客户端节点IP:8080/clickhouse/executeQuery,查看浏览器返回信息: ClickHouse springboot client runs normally. Linux环境下执行运行方式: 登录ClickHouse客户端节点,执行如下命令,查看linux下shell日志打印和日志文件打印: curl http://localhost:8080/clickhouse/executeQuery vi clickhouse-springboot-example.log
-
准备开发环境 在进行应用开发时,要准备的开发和运行环境如表1所示。 表1 开发环境 准备项 说明 操作系统 开发环境:Windows系统,支持Windows7以上版本。 运行环境:Linux系统。 如需在本地调测程序,运行环境需要和集群业务平面网络互通。 安装JDK 开发和运行环境的基本配置。版本要求如下: 服务端和客户端仅支持自带的OpenJDK,版本为1.8.0_272,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的。 X86客户端:Oracle JDK:支持1.8版本;IBM JDK:支持1.8.5.11版本。 TaiShan客户端:OpenJDK:支持1.8.0_272版本。 说明: 基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设置后可以同时支持TLS V1.0/V1.1/V1.2,详情参见https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls。 安装和配置IntelliJ IDEA 开发环境的基本配置,建议使用2019.1或其他兼容版本。 说明: 若使用IBM JDK,请确保IntelliJ IDEA中的JDK配置为IBM JDK。 若使用Oracle JDK,请确保IntelliJ IDEA中的JDK配置为Oracle JDK。 若使用Open JDK,请确保IntelliJ IDEA中的JDK配置为Open JDK。 不同的IntelliJ IDEA不要使用相同的workspace和相同路径下的示例工程。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 准备开发用户 准备用于应用开发的ClickHouse集群用户并授予相应权限。 7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。
-
ClickHouse简介 ClickHouse是面向联机分析处理的列式数据库,支持SQL查询,且查询性能好,特别是基于大宽表的聚合分析查询性能非常优异,比其他分析型数据库速度快一个数量级。 ClickHouse的设计优点: 数据压缩比高 多核并行计算 向量化计算引擎 支持嵌套数据结构 支持稀疏索引 支持数据Insert和Update ClickHouse的应用场景: 实时数仓场景 使用流式计算引擎(如Flink)把实时数据写入ClickHouse,借助ClickHouse的优异查询性能,在亚秒级内响应多维度、多模式的实时查询分析请求。 离线查询场景 把规模庞大的业务数据导入到ClickHouse,构造数亿至数百亿记录规模、数百以上的维度的大宽表,随时进行个性化统计和持续探索式查询分析,辅助商业决策,具有非常好的查询体验。
-
准备开发环境 在进行应用开发时,要准备的开发和运行环境如表1所示。 表1 开发环境 准备项 说明 操作系统 开发环境:Windows系统,支持Windows7以上版本。 运行环境:Linux系统。 如需在本地调测程序,运行环境需要和集群业务平面网络互通。 安装JDK 开发和运行环境的基本配置。版本要求如下: 服务端和客户端仅支持自带的OpenJDK,版本为1.8.0_272,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的。 X86客户端:Oracle JDK:支持1.8版本;IBM JDK:支持1.8.5.11版本。 TaiShan客户端:OpenJDK:支持1.8.0_272版本。 说明: 基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设置后可以同时支持TLS V1.0/V1.1/V1.2,详情参见https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls。 安装和配置IntelliJ IDEA 开发环境的基本配置,建议使用2019.1或其他兼容版本。 说明: 若使用IBM JDK,请确保IntelliJ IDEA中的JDK配置为IBM JDK。 若使用Oracle JDK,请确保IntelliJ IDEA中的JDK配置为Oracle JDK。 若使用Open JDK,请确保IntelliJ IDEA中的JDK配置为Open JDK。 不同的IntelliJ IDEA不要使用相同的workspace和相同路径下的示例工程。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 准备开发用户 参考准备MRS应用开发用户进行操作,准备用于应用开发的集群用户并授予相应权限。 7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。
-
在Linux环境中调测ClickHouse Springboot样例程序 ClickHouse springboot应用程序也支持在Linux环境中运行。在程序代码完成开发后,您可以上传Jar包至准备好的Linux运行环境中运行。 前提条件 Linux环境已安装JDK,版本号需要和IntelliJ IDEA导出Jar包使用的JDK版本一致,并设置好Java环境变量。 编译并运行程序 在IDEA中右侧单击“Maven”,展开“Lifecycle”,双击“package”,对当前工程进行打包。 使用root用户登录ClickHouse客户端节点,创建运行目录,例如“/opt/test”,在IDEA的“target”目录下获取带有“-with-dependencies”的jar包,并将jar包和idea中conf文件夹一同上传到“/opt/test”目录,如: 执行如下命令,配置环境变量并运行jar包: cd 客户端安装路径 source bigdata_env cd /opt/test java -jar clickhouse-examples-1.0-SNAPSHOT-jar-with-dependencies.jar 显示结果如下: 调用ClickHouse的SpringBoot样例接口触发样例代码运行: Windows环境运行方式: 打开浏览器,输入:http://ClickHouse客户端节点IP:8080/clickhouse/executeQuery,查看浏览器返回信息: ClickHouse springboot client runs normally. Linux环境下执行运行方式: 登录ClickHouse客户端节点,执行如下命令,查看linux下shell日志打印和日志文件打印: curl http://localhost:8080/clickhouse/executeQuery vi clickhouse-springboot-example.log
-
基本概念 cluster cluster(集群)在ClickHouse里是一种逻辑的概念,它可以由用户根据需要自由的定义,与通常理解的集群有一定的差异。多个ClickHouse节点之间是一种松耦合的关系,各自独立存在。 shards shard(分片)是对cluster的横向切分,1个cluster可以由多个shard组成。 replicas replica(副本),1个shard可以有多个replica组成。 partition partition(分区),针对的是本地replica而言的,可以理解为是一种纵向切分。 MergeTree ClickHouse拥有非常庞大的表引擎体系,MergeTree作为家族系统最基础的表引擎,提供了数据分区、一级索引和二级索引等功能。在创建表的时候需要指定表引擎,不同的表引擎会决定一张数据表的最终“性格”,比如数据表拥有何种特性、数据以何种形式被存储以及如何被加载。
-
ClickHouse简介 ClickHouse是面向联机分析处理的列式数据库,支持SQL查询,且查询性能好,特别是基于大宽表的聚合分析查询性能非常优异,比其他分析型数据库速度快一个数量级。 ClickHouse的设计优点: 数据压缩比高 多核并行计算 向量化计算引擎 支持嵌套数据结构 支持稀疏索引 支持数据Insert和Update ClickHouse的应用场景: 实时数仓场景 使用流式计算引擎(如Flink)把实时数据写入ClickHouse,借助ClickHouse的优异查询性能,在亚秒级内响应多维度、多模式的实时查询分析请求。 离线查询场景 把规模庞大的业务数据导入到ClickHouse,构造数亿至数百亿记录规模、数百以上的维度的大宽表,随时进行个性化统计和持续探索式查询分析,辅助商业决策,具有非常好的查询体验。
-
ClickHouse应用开发流程介绍 开发流程中各阶段的说明如图1所示。 图1 ClickHouse应用程序开发流程 表1 ClickHouse应用开发的流程说明 阶段 说明 参考文档 了解基本概念 在开始开发应用前,需要了解ClickHouse的基本概念。 基本概念 准备开发和运行环境 ClickHouse的应用程序支持多种语言开发,主要为Java语言,推荐使用IntelliJ IDEA工具,请根据指导完成开发环境配置。 准备ClickHouse应用开发和运行环境 根据场景开发工程 提供样例工程,帮助用户快速了解ClickHouse各部件的编程接口。 导入并配置ClickHouse样例工程 运行程序及查询结果 用户可以直接通过运行结果查看应用程序运行情况。 在本地Windows环境中调测ClickHouse应用(MRS 3.3.0之前版本) 在Linux环境中调测ClickHouse应用(MRS 3.3.0之前版本) 父主题: ClickHouse开发指南(普通模式)
-
查看调测结果 ClickHouse应用程序运行完成后,可通过以下方式查看程序运行情况: 通过运行结果查看程序运行情况。 通过ClickHouse日志获取应用运行情况,即“logs”目录下的日志文件:clickhouse-example.log。 运行clickhouse-examples的完整样例后,控制台显示部分运行结果如下: 2023-09-19 16:20:48,344 | INFO | main | loadBalancerIPList is 192.168.5.132, loadBalancerHttpPort is 21422, user is ck_user, clusterName is default_cluster, isSec is true, password is Admin12!. | com.huawei.clickhouse.examples.Demo.main(Demo.java:42) 2023-09-19 16:20:48,350 | INFO | main | ckLbServerList current member is 0, ClickhouseBalancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Demo.getCkLbServerList(Demo.java:110) 2023-09-19 16:20:48,436 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68) 2023-09-19 16:20:50,781 | INFO | main | Execute query:drop table if exists testdb.testtb on cluster default_cluster no delay | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73) 2023-09-19 16:20:51,504 | INFO | main | Execute time is 723 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77) 2023-09-19 16:20:51,511 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68) 2023-09-19 16:20:51,897 | INFO | main | Execute query:drop table if exists testdb.testtb_all on cluster default_cluster no delay | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73) 2023-09-19 16:20:52,421 | INFO | main | Execute time is 524 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77) 2023-09-19 16:20:52,422 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68) 2023-09-19 16:20:52,946 | INFO | main | Execute query:create database if not exists testdb on cluster default_cluster | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73) 2023-09-19 16:20:53,405 | INFO | main | Execute time is 458 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77) 2023-09-19 16:20:53,406 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68) 2023-09-19 16:20:53,757 | INFO | main | Execute query:create table testdb.testtb on cluster default_cluster (name String, age UInt8, date Date)engine=ReplicatedMergeTree('/clickhouse/tables/{shard}/testdb.testtb','{replica}') partition by toYYYYMM(date) order by age | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73) 2023-09-19 16:20:54,243 | INFO | main | Execute time is 485 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77) 2023-09-19 16:20:54,244 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68) 2023-09-19 16:20:54,640 | INFO | main | Execute query:create table testdb.testtb_all on cluster default_cluster as testdb.testtb ENGINE = Distributed(default_cluster,testdb,testtb, rand()); | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73) 2023-09-19 16:20:55,175 | INFO | main | Execute time is 535 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77) 2023-09-19 16:20:55,175 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.insertData(Util.java:143) 2023-09-19 16:20:58,868 | INFO | main | Insert batch time is 503 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:160) 2023-09-19 16:21:01,015 | INFO | main | Insert batch time is 631 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:160) 2023-09-19 16:21:02,521 | INFO | main | Inert all batch time is 4163 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:164) 2023-09-19 16:21:02,522 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68) 2023-09-19 16:21:03,051 | INFO | main | Execute query:select * from testdb.testtb_all order by age limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73) 2023-09-19 16:21:03,430 | INFO | main | Execute time is 379 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77) 2023-09-19 16:21:03,433 | INFO | main | Current load balancer is 192.168.5.132:21422 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68) 2023-09-19 16:21:03,760 | INFO | main | Execute query:select toYYYYMM(date),count(1) from testdb.testtb_all group by toYYYYMM(date) order by count(1) DESC limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:73) 2023-09-19 16:21:04,361 | INFO | main | Execute time is 600 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:77) 2023-09-19 16:21:04,362 | INFO | main | name age date | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,362 | INFO | main | huawei_9 12 2021-04-20 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,362 | INFO | main | huawei_17 15 2021-05-23 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,363 | INFO | main | huawei_5 24 2021-04-15 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,363 | INFO | main | huawei_13 39 2020-07-04 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,363 | INFO | main | huawei_3 49 2021-06-27 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,363 | INFO | main | huawei_15 50 2020-06-26 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,363 | INFO | main | huawei_11 53 2020-08-14 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,363 | INFO | main | huawei_12 56 2021-12-19 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,363 | INFO | main | huawei_19 57 2021-10-31 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,363 | INFO | main | huawei_0 57 2020-03-01 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,363 | INFO | main | toYYYYMM(date) count() | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,364 | INFO | main | 202105 3 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,364 | INFO | main | 202110 2 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,364 | INFO | main | 202104 2 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,364 | INFO | main | 202008 2 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,364 | INFO | main | 202007 2 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,364 | INFO | main | 202106 2 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,364 | INFO | main | 202012 1 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,364 | INFO | main | 202109 1 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,364 | INFO | main | 202003 1 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:04,365 | INFO | main | 202011 1 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:158) 2023-09-19 16:21:05,044 | INFO | main | Name is: huawei_9, age is: 12 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) 2023-09-19 16:21:05,044 | INFO | main | Name is: huawei_17, age is: 15 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) 2023-09-19 16:21:05,045 | INFO | main | Name is: huawei_5, age is: 24 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) 2023-09-19 16:21:05,045 | INFO | main | Name is: huawei_13, age is: 39 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) 2023-09-19 16:21:05,045 | INFO | main | Name is: huawei_3, age is: 49 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) 2023-09-19 16:21:05,045 | INFO | main | Name is: huawei_15, age is: 50 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) 2023-09-19 16:21:05,045 | INFO | main | Name is: huawei_11, age is: 53 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) 2023-09-19 16:21:05,045 | INFO | main | Name is: huawei_12, age is: 56 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) 2023-09-19 16:21:05,045 | INFO | main | Name is: huawei_19, age is: 57 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) 2023-09-19 16:21:05,046 | INFO | main | Name is: huawei_0, age is: 57 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:78) Process finished with exit code 0
-
查看调测结果 ClickHouse应用程序运行完成后,可通过以下方式查看程序运行情况: 通过运行结果查看程序运行情况。 通过ClickHouse日志获取应用运行情况。 即查看当前jar文件所在目录的“logs/clickhouse-example.log”日志文件,例如“客户端安装目录/JDBC/logs/clickhouse-example.log”。 jar包运行结果如下: 2021-06-10 20:53:56,028 | INFO | main | Current load balancer is 10.112.17.150:21426 | com.huawei.clickhouse.examples.Util.insertData(Util.java:128) 2021-06-10 20:53:58,247 | INFO | main | Inert batch time is 1442 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:53:59,649 | INFO | main | Inert batch time is 1313 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:54:05,872 | INFO | main | Inert batch time is 6132 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:54:10,223 | INFO | main | Inert batch time is 4272 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:54:11,614 | INFO | main | Inert batch time is 1300 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:54:12,871 | INFO | main | Inert batch time is 1200 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:54:14,589 | INFO | main | Inert batch time is 1663 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:54:16,141 | INFO | main | Inert batch time is 1500 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:54:17,690 | INFO | main | Inert batch time is 1498 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:54:19,206 | INFO | main | Inert batch time is 1468 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:145) 2021-06-10 20:54:19,207 | INFO | main | Inert all batch time is 22626 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:148) 2021-06-10 20:54:19,208 | INFO | main | Current load balancer is 10.112.17.150:21426 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:58) 2021-06-10 20:54:20,231 | INFO | main | Execute query:select * from mutong1.testtb_all order by age limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:63) 2021-06-10 20:54:21,266 | INFO | main | Execute time is 1035 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:67) 2021-06-10 20:54:21,267 | INFO | main | Current load balancer is 10.112.17.150:21426 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:58) 2021-06-10 20:54:21,815 | INFO | main | Execute query:select toYYYYMM(date),count(1) from mutong1.testtb_all group by toYYYYMM(date) order by count(1) DESC limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:63) 2021-06-10 20:54:22,897 | INFO | main | Execute time is 1082 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:67) 2021-06-10 20:54:22,898 | INFO | main | name age date | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,898 | INFO | main | huawei_266 0 2021-12-19 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,899 | INFO | main | huawei_2500 0 2021-12-29 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,899 | INFO | main | huawei_8980 0 2021-12-16 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,899 | INFO | main | huawei_671 0 2021-12-29 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,899 | INFO | main | huawei_2225 0 2021-12-12 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,899 | INFO | main | huawei_6040 0 2021-12-14 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,899 | INFO | main | huawei_7294 0 2021-12-10 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,899 | INFO | main | huawei_1133 0 2021-12-25 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,900 | INFO | main | huawei_3161 0 2021-12-21 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,900 | INFO | main | huawei_3992 0 2021-11-25 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,900 | INFO | main | toYYYYMM(date) count() | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,900 | INFO | main | 201910 2247 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,900 | INFO | main | 202105 2213 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,900 | INFO | main | 201801 2208 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,900 | INFO | main | 201803 2204 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,901 | INFO | main | 201810 2167 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,901 | INFO | main | 201805 2166 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,901 | INFO | main | 201901 2164 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,901 | INFO | main | 201908 2145 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,901 | INFO | main | 201912 2143 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144) 2021-06-10 20:54:22,901 | INFO | main | 202107 2137 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:144)
-
配置ClickHouse连接属性 在ClickhouseJDBCHaDemo、Demo、NativeJDBCHaDemo和Util文件创建connection的样例中设置连接属性,如下样例代码设置socket超时时间为60s。 ClickHouseProperties clickHouseProperties = new ClickHouseProperties(); clickHouseProperties.setSocketTimeout(60000); 如果导入并配置ClickHouse样例工程中的“clickhouse-example.properties”配置文件中“sslUsed”参数配置为“true”时,则需要在ClickhouseJDBCHaDemo、Demo、NativeJDBCHaDemo和Util文件创建connection的样例中设置如下连接属性: clickHouseProperties.setSsl(true); clickHouseProperties.setSslMode("none"); 父主题: 开发ClickHouse应用
-
建立ClickHouse连接 以下代码片段在“ClickhouseJDBCHaDemo”类的initConnection方法中。在创建连接时传入表1中配置的user和password作为认证凭据,ClickHouse会带着用户名和密码在服务端进行安全认证。 MRS 3.3.0之前版本: clickHouseProperties.setPassword(userPass); clickHouseProperties.setUser(userName); BalancedClickhouseDataSource balancedClickhouseDataSource = new BalancedClickhouseDataSource(JDBC_PREFIX + UriList, clickHouseProperties); MRS 3.3.0及之后版本: clickHouseProperties.setProperty(ClickHouseDefaults.USER.getKey(), userName); clickHouseProperties.setProperty(ClickHouseDefaults.PASSWORD.getKey(), userPass); try { clickHouseProperties.setProperty(ClickHouseClientOption.FAILOVER.getKey(), "21"); clickHouseProperties.setProperty(ClickHouseClientOption.LOAD_BALANCING_POLICY.getKey(), "roundRobin"); balancedClickhouseDataSource = new ClickHouseDataSource(JDBC_PREFIX + UriList, clickHouseProperties); } catch (Exception e) { LOG.error("Failed to create balancedClickHouseProperties."); throw e; } 父主题: 开发ClickHouse应用
-
操作场景 原子性是指事务是一个不可分割的工作单元,一个事务可以包含多个操作,这些操作要么全部执行,要么全都不执行。但是由于事务在执行过程中,可能出现一些意外,例如用户回滚了事务、连接断开、断电等等,导致事务被中断执行。 ClickHouse支持原子性写入能力,支持事务能力。实现事务的原子性,在事务的某个操作失败后,支持回滚到事务执行之前的状态。 本章节主要介绍如何开启ClickHouse事务。 使用本地表场景进行数据写入性能更优,故推荐本地表的数据增、删、改、查场景的多副本分布式事务支持。 对于使用分布式表进行数据写入场景的分布式事务,需要结合分布式表事务insert_distributed_sync+本地表事务(Mergetree/ReplicateMergeTree)完整的事务支持数据写入。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格