ClickHouseAPI使用

ClickHouseAPI使⽤
结构补强ClickHouse API 使⽤
08-Java 操作 CK之JDBC Client 概述
⽬标
ClickHouse提供JDBC⽅式访问数据库,进⾏DDL和DML操作。
路径
1. ClickHouse 提供访问⽅式
2. ClickHouse JDBC Client 说明
实施
ClickHouse 客户端提供多种⽅式:h/docs/zh/interfaces/,其中JDBC 驱动使⽤较多:h/docs/zh/interfaces/jdbc/。
JDBC驱动:h/docs/zh/interfaces/jdbc/
1)、官⽅驱动:建议使⽤
github/ClickHouse/clickhouse-jdbc
添加依赖:
<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.2.6</version>
</dependency>
JDBC 驱动连接地址和驱动类
JDBC Driver Class: ru.yandex.clickhouse.ClickHouseDriver
URL syntax: jdbc:clickhouse://<host>:<port>[/<database>]
获取连接Connection,获取Statement对象,进⾏查询和执⾏更新操作
2)、第三⽅,都是基于官⽅提供驱动进⾏优化修改的
⼩结
ClickHouse提供JDBC Client⽅式进⾏访问,有官⽅的和第三⽅的,⽅便对数据库进⾏DDL和DML操作。
09-Java 操作 CK之⼯程环境准备
⽬标
创建Maven Project⼯程,添加ClickHouse JDBC依赖。
路径甲基三氯硅烷
1. 创建Maven Project,基本配置
2. 添加POM依赖
3. 扩展:数据库⾯试题
实施
在前⾯创建好的Maven Projet⼯程中,创建Maven Module模块,添加依赖:
创建相关包,再添加MAVEn依赖
<!-- 指定仓库位置,依次为aliyun、cloudera和jboss仓库 -->
<repositories>
<repository>
<id>aliyun</id>
<url>maven.aliyun/nexus/content/groups/public/</url>
</repository>
<repository>
<id>cloudera</id>
<url>repository.cloudera/artifactory/cloudera-repos/</url> </repository>
<repository>
<id>jboss</id>
<url>repository.jboss/nexus/content/groups/public</url> </repository>
</repositories>
<!-- 版本属性 -->
<properties>
<mavenpiler.source>1.8</mavenpiler.source>
<mavenpiler.target>1.8</mavenpiler.target>
<clickhouse>0.2.4</clickhouse>
</properties>
<dependencies>
<!-- Clickhouse -->
<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>${clickhouse}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
导⼊依赖以后,查看clickhouse-jdbc相关jar包结构如下:
⾯试题:
1)、⼿写MySQL JDBC 插⼊数据,整合Spark进⾏操作
将DataFrame数据保存到MySQL表中,考虑数据可以被更新
MySQL表中,如果主键存在更新数据,如果不存在就是插⼊数据
使⽤Scala语⾔
2)、⼿写MySQL JDBC⽅式查询数据
使⽤Java语⾔
⼩结
新闻结构
使⽤ClickHouse JDBC Client 操作CK表(DDL操作和DML操作),⾸先创建Maven Project,添加相关依赖。
10-Java 操作 CK之查询代码案例
⽬标
基于ClickHouse JDBC Client API实现,从CK表中查询数据。
路径
1. clickhouse-client 连接,确定查询数据SQL需求
2. 创建Java类,编写查询代码并运⾏
实施
使⽤CK命令⾏客户端:clickhouse-client,连接CK服务,从ClickHouse表中读取数据,执⾏SQL语句:select count(1) ime ;
好书搜索
使⽤Java语⾔,创建类:ClickHouseJDBCDemo,编写JDBC代码,查询数据,演⽰代码如下:
package cn.itcast.clickhouse;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;教师行动网
/**
* 编写JDBC代码,从ClickHouse表查询分析数据
* step1. 加载驱动类
* step2. 获取连接Connection
* step3. 创建PreparedStatement对象codysafe
* step4. 查询数据
* step5. 获取数据
* step6. 关闭连接
*/
public class ClickHouseJDBCDemo {
public static void main(String[] args) throws Exception{
// 定义变量
Connection conn =null;
PreparedStatement pstmt =null;
ResultSet result =null;
try{
//step1. 加载驱动类
Class.forName("ru.yandex.clickhouse.ClickHouseDriver");
//step2. 获取连接Connection
conn = Connection(
"jdbc:clickhouse://node2.itcast:8123","root","123456"
);
//step3. 创建PreparedStatement对象
pstmt = conn.prepareStatement("select count(1) ime");
//step4. 查询数据
result = uteQuery();
//step5. 获取数据
()){
System.out.Long(1));
}
}catch(Exception e){
e.printStackTrace();
}finally{
//step6. 关闭连接
if(null!= result) result.close();
if(null!= pstmt) pstmt.close();
if(null!= conn) conn.close();
}
}
}
⼩结
使⽤ClickHouseJDBC Client API查询CK表的数据,代码⼏乎与MySQL JDBC API使⽤⼀样的,仅仅Driver类名称和URL不同⽽已。
11-Spark 操作 CK之⼯程环境准备
⽬标

本文发布于:2024-09-24 19:24:06,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/325907.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   查询   驱动   连接   表中   添加
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议