全部产品

快速入门

在Lindorm Ganos开通后(参考「开通指南」),就可以通过Ganos接口进行开发工作了。

1、代码示例下载

lindorm-ganos-sample

下载解压后进入lindorm-sample目录,执行

mvn install -Dmaven.test.skip=true -s ../settings.xml

编译成功后,在target目录下生成 lindorm-sample-1.0.0.jar

2、代码示例说明

以AIS数据为例,展示了对轨迹数据的写入、查询功能,其中

  • Main: 示例程序入口

    通过json文件指定操作和参数,json文件可参照示例sample_template.json

  • Writer:向Lindorm Ganos写入数据,支持两种写入模式:

    1. WRITER:单线程写入。连接Lindorm Ganos,定义Schema,创建时空索引表,读取示例数据并写入

    2. PWRITER: 多线程写入。连接Lindorm Ganos,定义Schema,创建时空索引表。指定线程数,每个线程随机生成指定范围内的n个AIS点,写入已创建的表中。需通过json文件指定参数。json文件可参照示例 write_template.json

  • Reader:查询接口,对Writer写入的AIS数据进行查询,支持两种查询模式:

    1. READER:进行固定参数的属性查询,空间查询和时空查询等示例

    2. UDFQUERY: 通过json文件指定参数,自定义选择空间/时空/属性查询,指定查询条件。json文件可参照示例query_template.json

3、使用示例

3.1 写入数据

在 sample_template.json 中,设置写入参数

{
  "operation" : "WRITER",
  "zk_address" : $your_zk_address,
  "catalog" : "example",
  "schema" : "ship"
}

然后执行sample写入

java -jar lindorm-sample-1.0.0.jar path_to_sample/sample_template.json

默认创建schema "ship" 的4个索引表 (index on id, z2, z3, attr) 。若要创建指定的索引表,可以参考 创建索引表

3.2 查询数据

在 sample_template.json 中设置查询参数,使用示例代码默认的查询范围

{
  "operation" : "READER",
  "zk_address" : $your_zk_address,
  "catalog" : "example",
  "schema" : "ship"
}

也可设置查询语句filter_string,指定查询范围

{
  "operation" : "READER",
  "filter_string" : "bbox(geom, 20, 20, 40, 40)"
  "zk_address" : $your_zk_address,
  "catalog" : "example",
  "schema" : "ship"
}

执行sample查询

java -jar lindorm-sample-1.0.0.jar path_to_sample/sample_template.json

可以看到返回显示的查询结果。

3.3 并行写入数据

使用PWRITER

{
  "operation" : "PWRITER",
  "zk_address" : $your_zk_address,
  "catalog" : "example",
  "schema" : "ship",
  "write_template_file" : "src_root/src/main/java/com/aliyun/apsaradb/lindorm/ganos/sample/write_template.json"
}

3.4 自定义查询

使用UDFQUERY

{
  "operation" : "UDFQUERY",
  "zk_address" : $your_zk_address,
  "catalog" : "example",
  "schema" : "ship",
  "query_template_file" : "src_root/src/main/java/com/aliyun/apsaradb/lindorm/ganos/sample/query_template.json"
}