English | 中文

Apache IoTDB

E2E Tests GitHub release License IoTDB Website

Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for data management and analysis, deployable on the edge and the cloud. Due to its light-weight architecture, high performance and rich feature set together with its deep integration with Apache Hadoop, Spark and Flink, Apache IoTDB can meet the requirements of massive data storage, high-speed data ingestion and complex data analysis in the IoT industrial fields.

Apache IoTDB Client for Go

Overview

This is the GoLang client of Apache IoTDB.

Apache IoTDB website: https://iotdb.apache.org Apache IoTDB Github: https://github.com/apache/iotdb

Prerequisites

golang >= 1.13

How to Use the Client (Quick Start)

With go mod

export GO111MODULE=on
export GOPROXY=https://goproxy.io

mkdir session_example && cd session_example

curl -o session_example.go -L https://github.com/apache/iotdb-client-go/raw/main/example/session_example.go

go mod init session_example
go run session_example.go

Without go mod

# get thrift 0.14.1
go get github.com/apache/thrift
cd $GOPATH/src/github.com/apache/thrift
git checkout 0.14.1

mkdir -p $GOPATH/src/iotdb-client-go-example/session_example
cd $GOPATH/src/iotdb-client-go-example/session_example

curl -o session_example.go -L https://github.com/apache/iotdb-client-go/raw/main/example/session_example.go
go run session_example.go

Developer environment requirements for iotdb-client-go

OS

  • Linux, Macos or other unix-like OS
  • Windows+bash(WSL, cygwin, Git Bash)

Command Line Tools

  • golang >= 1.13
  • make >= 3.0
  • curl >= 7.1.1
  • thrift 0.14.1

Troubleshooting

Parameter name mismatch with actual usage in function ‘Open’

The implementation of the function client/session.go/Open() is mismatched with the description. The parameter connectionTimeoutInMs represents connection timeout in milliseconds. However, in the older version, this function did not implement correctly, regarding it as nanosecond instead. The bug is now fixed. Positive value of this parameter means connection timeout in milliseconds. Set 0 for no timeout.