8.12. GeoTools命令行工具¶
GeoMesa GeoTools发行版包括一组命令行工具,可以与大多数非GeoMesa数据存储实现配合使用,以提供功能管理、获取和导出。这允许将GeoMesa转换器和输出编码用于非GeoMesa数据存储。
8.12.1. 安装¶
GeoMesa GeoTools构件可以下载,也可以从源代码构建。最简单的入门方法是从下载最新的二进制版本 GitHub.
备注
以下示例要求在环境中设置版本:
$ export TAG="4.0.2" $ export VERSION="2.12-${TAG}" # note: 2.12 is the Scala build version
将其提取到方便的地方:
# download and unpackage the most recent distribution:
$ wget "https://github.com/locationtech/geomesa/releases/download/geomesa-${TAG}/geomesa-gt_${VERSION}-bin.tar.gz"
$ tar xvf geomesa-gt_${VERSION}-bin.tar.gz
$ cd geomesa-gt_${VERSION}
$ ls
bin/ conf/ dist/ docs/ examples/ lib/ LICENSE.txt logs/
或者,它也可以从源头开始构建。有关详细信息,请参阅上的说明 GitHub 。如果您是从源代码构建的,则在 target
目录号 geomesa-gt/geomesa-gt-dist
。
8.12.1.1. 设置命令行工具¶
安装后,可以通过运行脚本来调用命令行工具 geomesa-gt
位于下面的二进制分布中 geomesa-gt_${VERSION}/bin/
。
这些工具附带了一些默认的GeoTools数据存储,例如对Postgis和Shapefile的支持。对于其他商店,您需要将适当的JAR复制到工具中 lib
文件夹。
备注
环境变量可以在 conf/*-env.sh
和依赖项版本可以在 conf/dependencies.sh
。
备注
geomesa-gt
将从 $GEOMESA_EXTRA_CLASSPATHS
环境变量添加到类路径中。使用 geomesa-gt classpath
命令,以查看正在使用的是什么JAR。
由于许可限制,必须单独安装形状文件支持的从属项。使用以下命令执行此操作:
$ ./bin/install-shapefile-support.sh
跑 geomesa-gt
没有论据来确认这些工具是有效的。
$ bin/geomesa-gt
INFO Usage: geomesa-gt [command] [command options]
Commands:
...
8.12.1.2. 设置分布式处理¶
GeoMesa支持运行用于摄取和导出的映射/还原作业。如果您在本地安装了Hadoop,这些工具将读取 $HADOOP_HOME
环境变量为Hadoop加载适当的JAR文件。
如果您没有安装本地Hadoop,则为了运行分布式作业,您需要手动将Hadoop配置文件安装到工具中 conf
文件夹,并将Hadoop JAR放入工具中 lib
文件夹。要安装JAR,请使用随发行版提供的脚本:
$ ./bin/install-dependencies.sh lib
如果您为任何其他数据存储安装了JAR,则需要通过修改文件将它们添加到Hadoop libjars路径 org/locationtech/geomesa/geotools/tools/gt-libjars.list
在罐子里 lib/geomesa-gt-tools_${VERSION}.jar
。
8.12.2. 一般论据¶
大多数命令都要求您指定到数据存储的连接。参数可以使用 --param
参数,可以重复该参数以指定多个参数。或者,也可以使用 --params
参数可用于指定包含参数的Java属性文件。这可能有助于简化命令调用,或对bash历史记录和进程列表隐藏敏感参数。如果两者都有 --param
和 --params
则直接指定的参数将优先于属性文件中的参数。
例如,要连接到Postgis数据存储,可以使用以下命令:
$ bin/geomesa-gt export --param dbtype=postgis --param host=localhost \
--param user=postgres --param passwd=postgres --param port=5432 \
--param database=example --feature-name gdelt