TiSpark Project TiKV Java Client

Java Client for TiKV

Лицензия

Лицензия

Категории

Категории

Java Языки программирования CLI Взаимодействие с пользователем
Группа

Группа

com.pingcap.tikv
Идентификатор

Идентификатор

tikv-client-java
Последняя версия

Последняя версия

3.0.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

TiSpark Project TiKV Java Client
Java Client for TiKV
Ссылка на сайт

Ссылка на сайт

http://github.com/tikv/client-java
Организация-разработчик

Организация-разработчик

PingCAP
Система контроля версий

Система контроля версий

https://github.com/tikv/client-java/tree/master

Скачать tikv-client-java

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.pingcap.tikv/tikv-client-java/ -->
<dependency>
    <groupId>com.pingcap.tikv</groupId>
    <artifactId>tikv-client-java</artifactId>
    <version>3.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.pingcap.tikv/tikv-client-java/
implementation 'com.pingcap.tikv:tikv-client-java:3.0.0'
// https://jarcasting.com/artifacts/com.pingcap.tikv/tikv-client-java/
implementation ("com.pingcap.tikv:tikv-client-java:3.0.0")
'com.pingcap.tikv:tikv-client-java:jar:3.0.0'
<dependency org="com.pingcap.tikv" name="tikv-client-java" rev="3.0.0">
  <artifact name="tikv-client-java" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.pingcap.tikv', module='tikv-client-java', version='3.0.0')
)
libraryDependencies += "com.pingcap.tikv" % "tikv-client-java" % "3.0.0"
[com.pingcap.tikv/tikv-client-java "3.0.0"]

Зависимости

provided (4)

Идентификатор библиотеки Тип Версия
org.slf4j : slf4j-api jar 1.7.16
org.slf4j : slf4j-log4j12 jar 1.7.16
org.slf4j : jul-to-slf4j jar 1.7.16
org.slf4j : jcl-over-slf4j jar 1.7.16

test (1)

Идентификатор библиотеки Тип Версия
io.grpc : grpc-testing jar 1.24.0

Модули Проекта

Данный проект не имеет модулей.

TiKV JAVA Client

A Java client for TiDB/TiKV. It is supposed to:

  • Communicate via gRPC
  • Talk to Placement Driver searching for a region
  • Talk to TiKV for reading/writing data and the resulted data is encoded/decoded just like what we do in TiDB.
  • Talk to Coprocessor for calculation pushdown

How to build

Maven

The alternative way to build a usable jar for testing will be

mvn clean install -Dmaven.test.skip=true

The following command can install dependencies for you.

mvn package

The jar can be found in ./target/

Usage

This project is designed to hook with pd and tikv which you can find in PingCAP github page.

When you work with this project, you have to communicate with pd and tikv. Please run TiKV and PD in advance.

Component: Raw Ti-Client in Java

Java Implementation of Raw TiKV-Client to support RawKVClient commands.

Demo is avaliable in KVRawClientTest

Build

mvn clean install -Dmaven.test.skip=true

Add to dependency

Use jar for binary

Add your jar built with all dependencies into you project's library to use tikv-client-java as dependency

Use as maven dependency

After building, add following lines into your pom.xml if you are using Maven

<dependency>
	<groupId>org.tikv</groupId>
	<artifactId>tikv-client-java</artifactId>
	<version>3.0.0</version>
</dependency>

Entrance

org.tikv.raw.RawKVClient

Create a RawKVClient

import org.tikv.common.TiSession;
import org.tikv.raw.RawKVClient;

public class Main {
	public static void main() {
		// You MUST create a raw configuration if you are using RawKVClient.
		TiConfiguration conf = TiConfiguration.createRawDefault(YOUR_PD_ADDRESSES);
		TiSession session = TiSession.create(conf);
		RawKVClient = session.createRawKVClient();
	}
}

API

/**
 * Put a raw key-value pair to TiKV
 *
 * @param key raw key
 * @param value raw value
 */
void put(ByteString key, ByteString value)
/**
 * Get a raw key-value pair from TiKV if key exists
 *
 * @param key raw key
 * @return a ByteString value if key exists, ByteString.EMPTY if key does not exist
 */
ByteString get(ByteString key)
/**
 * Scan raw key-value pairs from TiKV in range [startKey, endKey)
 *
 * @param startKey raw start key, inclusive
 * @param endKey raw end key, exclusive
 * @param limit limit of key-value pairs scanned, should be less than {@link #MAX_RAW_SCAN_LIMIT}
 * @return list of key-value pairs in range
 */
List<Kvrpcpb.KvPair> scan(ByteString startKey, ByteString endKey, int limit)
/**
 * Scan raw key-value pairs from TiKV in range [startKey, endKey)
 *
 * @param startKey raw start key, inclusive
 * @param limit limit of key-value pairs scanned, should be less than {@link #MAX_RAW_SCAN_LIMIT}
 * @return list of key-value pairs in range
 */
List<Kvrpcpb.KvPair> scan(ByteString startKey, int limit)
/**
 * Delete a raw key-value pair from TiKV if key exists
 *
 * @param key raw key to be deleted
 */
void delete(ByteString key)

License

Apache 2.0 license. See the LICENSE file for details.

com.pingcap.tikv

TiKV Project

Версии библиотеки

Версия
3.0.0