快速入门

在Lindorm Ganos开通后通过 Ganos接口进行开发工作。

操作步骤

  1. 代码示例下载:示例代码

  2. 下载解压后进入lindorm-sample目录,执行以下语句。

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

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

  3. 代码示例说明。以AIS数据为例,展示了对轨迹数据的写入、查询功能。

    • Main: 示例程序入口。

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

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

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

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

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

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

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

  4. 使用示例。以下示例中zk_address的地址为Lindorm宽表引擎的使用HBase Java API访问地址。

    • 写入数据

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

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

      执行示例写入。

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

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

    • 查询数据

      在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"
      }

      执行示例查询。

      java -jar lindorm-sample-1.0.0.jar path_to_sample/sample_template.json
    • 并行写入数据

      使用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"
      }
    • 自定义查询

      使用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"
      }