Giter Club home page Giter Club logo

clickhouse-native-jdbc's Introduction

ClickHouse Native JDBC

Build Status codecov.io Maven Central Total alerts Language grade: Java License

English | 简体中文

A Native JDBC library for accessing ClickHouse in Java, also provide a library for integrating with Apache Spark.

CONTRIBUTE

We welcome anyone that wants to help out in any way, whether that includes reporting problems, helping with documentations, or contributing code changes to fix bugs, add tests, or implement new features. Please follow Contributing Guide.

Supported by JetBrains Open Source License 2020-2021.

JDBC Driver

Requirements

  • Java 8/11.

Notes: We only do test with Java LTS versions.

Differences from yandex/clickhouse-jdbc

  • Data is organized and compressed by columns.
  • Implemented in the TCP Protocol, with higher performance than HTTP, here is the benchmark report.

Limitations

  • Not support insert complex values expression, like INSERT INTO test_table VALUES(toDate(123456)), but query is ok.
  • Not support insert non-values format, like TSV.
  • Not support more compression method, like ZSTD.

Import

  • Gradle
// (recommended) shaded version, available since 2.3-stable
compile "com.github.housepower:clickhouse-native-jdbc-shaded:${clickhouse_native_jdbc_version}"

// normal version
compile "com.github.housepower:clickhouse-native-jdbc:${clickhouse_native_jdbc_version}"
  • Maven
<!-- (recommended) shaded version, available since 2.3-stable -->
<dependency>
    <groupId>com.github.housepower</groupId>
    <artifactId>clickhouse-native-jdbc-shaded</artifactId>
    <version>${clickhouse-native-jdbc.version}</version>
</dependency>

<!-- normal version -->
<dependency>
    <groupId>com.github.housepower</groupId>
    <artifactId>clickhouse-native-jdbc</artifactId>
    <version>${clickhouse-native-jdbc.version}</version>
</dependency>

Integration with Spark

Requirements

  • Java 8, Scala 2.11/2.12, Spark 2.4
  • Or Java 8/11, Scala 2.12, Spark 3.0/3.1

For Spark 3.2, Spark ClickHouse Connector is recommended.

Notes: Spark 2.3.x(EOL) should also work fine. Actually we do test on both Java 8 and Java 11, but Spark official support on Java 11 since 3.0.0.

Import

  • Gradle
// available since 2.4.0
compile "com.github.housepower:clickhouse-integration-spark_2.11:${clickhouse_native_jdbc_version}"
  • Maven
<!-- available since 2.4.0 -->
<dependency>
    <groupId>com.github.housepower</groupId>
    <artifactId>clickhouse-integration-spark_2.11</artifactId>
    <version>${clickhouse-native-jdbc.version}</version>
</dependency>

License

This project is distributed under the terms of the Apache License (Version 2.0). See LICENSE for details.

clickhouse-native-jdbc's People

Contributors

adubovikov avatar akamensky avatar alitaker avatar andreynudko avatar andy1xx8 avatar baibaichen avatar blinkov avatar dcastanier avatar dependabot[bot] avatar drizzt321 avatar dulong avatar kifile avatar lauri-nomme avatar liuneng1994 avatar loneylee avatar marlondu avatar pan3793 avatar raghu777 avatar sbouchex avatar sundy-li avatar the-alchemist avatar ukchuvrus avatar uschindler avatar wgzhao avatar xiao0yy avatar zhang2014 avatar zyklon2 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.