全部产品

快速入门

更新时间:2019-08-12 10:02:01

快速入门

在HBase Ganos实例创建完成,并获得ZooKeeper地址后(参考「购买与使用指南」),就可以通过Ganos接口进行开发工作了。

访问接口

HBase Ganos支持两种访问方式:REST API以及SDK(遵循GeoTools API),前者通过HTTP协议访问,后者通过SDK的接口访问。
二者的区别在于:REST API不存在依赖升级等情况,比较轻量,但大数据查询时性能较低;SDK依赖重客户端,升级不方便,但功能更丰富,在大数据库查询时性能较好。
以下示例基于SDK接口。

依赖配置

GeoMesa客户端

HBase Ganos兼容开源的GeoMesa客户端,用户在不使用Ganos特定的功能优化时,可以直接集成GeoMesa客户端即可。
注意:如果使用GeoMesa客户端,那么在购买的时候请选择Ganos 2.0版本
配置如下:

  1. <dependency>
  2. <groupId>org.locationtech.geomesa</groupId>
  3. <artifactId>geomesa-hbase-datastore_2.11</artifactId>
  4. <version>2.2.1</version>
  5. <exclusions>
  6. <exclusion>
  7. <groupId>com.google.protobuf</groupId>
  8. <artifactId>protobuf-java</artifactId>
  9. </exclusion>
  10. </exclusions>
  11. </dependency>
  12. <!-- 依赖alihbase -->
  13. <dependency>
  14. <groupId>com.aliyun.hbase</groupId>
  15. <artifactId>alihbase-client</artifactId>
  16. <version>${hbase.version}</version>
  17. <exclusions>
  18. <exclusion>
  19. <artifactId>com.google.guava</artifactId>
  20. <groupId>guava</groupId>
  21. </exclusion>
  22. </exclusions>
  23. </dependency>
  24. <dependency>
  25. <groupId>com.aliyun.hbase</groupId>
  26. <artifactId>alihbase-server</artifactId>
  27. <version>${hbase.version}</version>
  28. </dependency>
  29. <dependency>
  30. <groupId>com.aliyun.hbase</groupId>
  31. <artifactId>alihbase-common</artifactId>
  32. <version>${hbase.version}</version>
  33. </dependency>
  34. <dependency>
  35. <groupId>com.aliyun.hbase</groupId>
  36. <artifactId>alihbase-protocol</artifactId>
  37. <version>${hbase.version}</version>
  38. </dependency>

Ganos定制客户端

  • Ganos V2.0版本依赖

注:目前该版本的依赖包只能下载之后集成,尚未发布到maven库中,地址为:http://ganos-public.oss-cn-beijing.aliyuncs.com/ganos-hbase15-2.0.0.jar 下载后,按照如下配置即可。

  1. <dependency>
  2. <groupId>com.aliyun.tst.ganos</groupId>
  3. <artifactId>ganos-geomesa-hbase15</artifactId>
  4. <version>2.0.0</version>
  5. <scope>system</scope>
  6. <systemPath>/ganos-jar-path</systemPath>
  7. </dependency>
  8. <!-- 依赖alihbase -->
  9. <dependency>
  10. <groupId>com.aliyun.hbase</groupId>
  11. <artifactId>alihbase-client</artifactId>
  12. <version>${hbase.version}</version>
  13. <exclusions>
  14. <exclusion>
  15. <artifactId>com.google.guava</artifactId>
  16. <groupId>guava</groupId>
  17. </exclusion>
  18. </exclusions>
  19. </dependency>
  20. <dependency>
  21. <groupId>com.aliyun.hbase</groupId>
  22. <artifactId>alihbase-server</artifactId>
  23. <version>${hbase.version}</version>
  24. </dependency>
  25. <dependency>
  26. <groupId>com.aliyun.hbase</groupId>
  27. <artifactId>alihbase-common</artifactId>
  28. <version>${hbase.version}</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>com.aliyun.hbase</groupId>
  32. <artifactId>alihbase-protocol</artifactId>
  33. <version>${hbase.version}</version>
  34. </dependency>
  • Ganos V2.5版本依赖

注:目前该版本的依赖包只能下载之后集成,尚未发布到maven库中,地址为:http://ganos-public.oss-cn-beijing.aliyuncs.com/ganos-hbase20-2.5.0.jar,下载后,按照如下配置即可。

  1. <dependency>
  2. <groupId>com.aliyun.tst.ganos</groupId>
  3. <artifactId>ganos-geomesa-hbase20</artifactId>
  4. <version>2.5.0</version>
  5. <scope>system</scope>
  6. <systemPath>/ganos-jar-path</systemPath>
  7. </dependency>
  8. <!-- 依赖alihbase -->
  9. <dependency>
  10. <groupId>com.aliyun.hbase</groupId>
  11. <artifactId>alihbase-client</artifactId>
  12. <version>${hbase.version}</version>
  13. <exclusions>
  14. <exclusion>
  15. <artifactId>com.google.guava</artifactId>
  16. <groupId>guava</groupId>
  17. </exclusion>
  18. </exclusions>
  19. </dependency>
  20. <dependency>
  21. <groupId>com.aliyun.hbase</groupId>
  22. <artifactId>alihbase-server</artifactId>
  23. <version>${hbase.version}</version>
  24. </dependency>
  25. <dependency>
  26. <groupId>com.aliyun.hbase</groupId>
  27. <artifactId>alihbase-common</artifactId>
  28. <version>${hbase.version}</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>com.aliyun.hbase</groupId>
  32. <artifactId>alihbase-protocol</artifactId>
  33. <version>${hbase.version}</version>
  34. </dependency>

示例应用

代码地址:http://ganos-public.oss-cn-beijing.aliyuncs.com/ganos_sample.zip
AIS数据是航海领域常用的数据,记录了船舶的航行轨迹等信息。数据格式如下,分别为:「船舶ID」「时间」「经度」「纬度」「航向」「速度」「数据源编码」「状态」

  1. 205073000;2018-09-03 09:15:50;72.96675666666667;11.982751666666667;130.* 0;13.1;17;129.0;0.0;1;在航
  2. 205073000;2018-09-03 11:10:17;73.27778666666667;11.70024;133.0;13.1;17;131.0;0.0;1;在航
  3. 205073000;2018-09-03 11:12:20;73.28349333333334;11.695146666666666;133.0;13.1;17;131.0;0.0;1;在航
  4. 205073000;2018-09-03 12:45:25;73.54346666666666;11.469733333333334;134.0;13.2;17;133.0;0.0;1;在航


针对这些轨迹的数据的查询包括:

  • 轨迹回放:查询某一船舶在过去某段时间内的轨迹数据。
  • 区域回放:查询某个区域范围内在某段时间所有的船舶轨迹。

具体来说,完成上述步骤需要经过如下步骤:

  • 创建索引:构造SimpleFeatureType,创建Schema,参考「索引表设计」章节
  • 构建时空对象:在SDK中即为构造SimpleFeature对象,参考「构建时空对象」章节
  • 写入:调用Ganos写入接口,参考「数据写入接口」章节
  • 查询:通过CQL描述查询语句,参考「数据查询接口」章节