java实现连接clickHouse数据demo代码实例

clickHouse是最新的一种列式数据库,存取速度极快,

最近公司要用到该数据库,就决定认真研究一下,由于属于全新的东西,国内暂时找不到相关的开发demo,于是决定自己下手整理一下clickHouse的安装及本地测试:

那么ClickHouse到底是啥?

1. 开源的列存储数据库管理系统

2. 支持线性扩展

3. 简单方便

4. 高可靠性

5. 容错(支持多主机异步复制,可以跨多个数据中心部署。 单个节点或整个数据中心的停机时间不会影响系统的读写可用性)

ClickHouse关键功能和应用场景:

java实现连接clickHouse数据demo代码实例

clickHouse的数据库用户名和密码采用配置文件的方式配置,并非像传统的数据库那样可以通过数据库设置,因此,首先要为数据库指定一个特定的用户,及访问权限。clickHouse默认使用default用户,对其下面的数据库拥有访问和增删改查的权限,这显然不符合开发要求,对用户极大的不负责任。下面是指定特定用户访问权限代码:

在ubuntu系统里找到user.xml文件:

1. 远程连接unbuntu的clickhouse数据库

1.1 在/etc目录下创建metrika.xml

java实现连接clickHouse数据demo代码实例

 

添加如下内容:

<yandex>

<networks>

<ip>::/0</ip>

</networks>

</yandex>

 

*******************************************************************************

**

1.2修改users.xml文件

java实现连接clickHouse数据demo代码实例 

  •  
  •      <users>标签的用户标签内找到此段代码:

<networks incl="networks" replace="replace">

  •                
  •  

 

 

1.3修改config.xml文件

java实现连接clickHouse数据demo代码实例

2.clickhouse配置文件详解:

2.1 users.xml标签详解

★完整demo,指定用户名,密码的完整账号信息:

java实现连接clickHouse数据demo代码实例

java实现连接clickHouse数据demo代码实例

完整配置文件的demo如下:

java实现连接clickHouse数据demo代码实例

 

下面贴上clickHouse连接数据库代码:

public class Connect {
 
@Test
public void connect() {
 
ClickHouseConnection conn=null;
ClickHouseProperties properties=new ClickHouseProperties();
properties.setUser("hmt");
    properties.setPassword("Wbvc6G7f");
    properties.setDatabase("huang");
        try {
       
        ClickHouseDataSource dataSource = new ClickHouseDataSource("jdbc:clickhouse://192.168.25.130:8123",properties); //default表示数据表 ,port原来为8123
ClickHouseConnectionImpl connection = (ClickHouseConnectionImpl) dataSource.getConnection();
if(connection!=null) {
System.out.println("连接成功");
}
 
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

因代码内容过多,这里不做过多描述.......详细源码请去点击打开链接,或者点击打开链接,http://sharehoo.cn/Topic_details.action?topicId=327此处

文章原创来自此处http://sharehoo.cn/Topic_details.action?topicId=327