github网址: https://github.com/apache/incubator-iotdb

克隆项目

git clone https://github.com/apache/iotdb.git

or

git clone git@github.com:apache/iotdb.git

idea打开项目

open -> 选择项目根目录

IDEA 导入 IoTDB 源码并编译_github

如果没有识别maven项目,就导入maven项目,添加pom

IDEA 导入 IoTDB 源码并编译_apache_02

选择pom

IDEA 导入 IoTDB 源码并编译_IoTDB_03

项目打包

如果安装了 maven 3.1 以上,可以直接用命令打包:

mvn clean package -Dmaven.test.skip=true

如果没有安装maven,也可以用我们提供的脚本打包:

./mvnw clean package -Dmaven.test.skip=true

编译出来的二进制包在 distribution/target/apache-iotdb-x.x.x-SNAPSHOT-incubating-bin.zip, 可以解压缩使用

注意,这个只是二进制包,解压缩就是一个数据库。

如果编译出现这个问题:
IDEA 导入 IoTDB 源码并编译_maven_04
可以把根目录的 pom 中的 maven-download-plugin 的版本改成 1.3.0

客户端开发

我们的客户端的模块有两个, jdbc 和 session,其中 session 是 nosql 接口,性能比较高。根目录有个 文件夹叫 example,里边会有各种样例代码,可以参考。

已经发布的版本 maven 库在网上都有,可以直接通过 pom 依赖下载到。

        <dependency>
            <groupId>org.apache.iotdb</groupId>
            <artifactId>iotdb-jdbc</artifactId>
            <version>0.8.0</version>
        </dependency>

如果是没发布的版本,需要在本地安装maven库,下面这个命令会把 iotdb 的各种 maven 库安装到本地。

mvn clean install -DskipTests

然后就可以在程序里依赖使用了。注意安装的版本要和这里写的保持一致,一般来说,没发布的都是 SNAPSHOT 版本,可以到各个模块里边的pom查看。

        
         <dependency>
            <groupId>org.apache.iotdb</groupId>
            <artifactId>iotdb-session</artifactId>
            <version>0.9.0-SNAPSHOT</version>
        </dependency>

运行调试

项目打包是打个可运行的jar包出来,如果想在idea里运行调试,还需要进行配置(0.10及以前的版本):

service-rpc/target/generated-sources/thriftserver/target/generated-sources/antlr4 两个目录上右键,Mark Directory as -> Sources Root

IDEA 导入 IoTDB 源码并编译_apache_05

(0.11及以后的版本)
thrift/target/generated-sources/thriftantlr/target/generated-sources/antlr4 两个目录上右键,Mark Directory as -> Sources Root

服务器主类:org.apache.iotdb.db.service.IoTDB
客户端主类:org.apache.iotdb.cli.Cli(linux)、org.apache.iotdb.cli.WinCli(windows)

跑测试用例

这样就可以跑测试啦,以tsfile模块为例,在src/test/java上右键,Run All Tests

IDEA 导入 IoTDB 源码并编译_github_06

tsfile 模块是基础模块